Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Buttons (https://www.delphipraxis.net/133382-buttons.html)

gangs-taas 30. Apr 2009 21:50


Buttons
 
hey hab eine frage.
in meiner fiktiven frage idee habe ich 2 buttons.
kann man das machen, dass der button1, nachdem button gedrückt wurde, was andere macht als wenn button2 nicht vorher gedrückt wurde ?

also meine

Buton1 => Variable a + varibale b

Button2 => Edit1.text := 'ballalala'
Button1 löst jetzt die aktion 'reset' aus


wisst ihr was ich mein ? geht das ?

lg

Gargoyl 30. Apr 2009 21:56

Re: Buttons
 
Äh ja das sollte gehen, wenn ich es richtig verstanden habe.

Variable definieren auf die beide Button_Click Events Zugriff haben

Pseudocode:
Code:
var
  Button2gedrueckt : Boolean = false;


procedure Button1_Click();
  if Button2gedrueckt then
    rechne a + b;
  else
    reset;

  Button2gedrueckt := false;
end;


procedure Button2_click();
  Button2gedrueckt := true;
end;

Medium 30. Apr 2009 22:13

Re: Buttons
 
Das OnClick Event (wie alle Events) ist nichts weiter als ein Methodenzeiger. Du kannst aus dem Quelltext heraus durchaus Events neue Methoden zuweisen. Das heisst du hättest dann 2 Methoden für Button1, von der eine standardmäßig via OI verknurpselt ist. Bei Click auf Button2 klemmst du die 2. Methode an: "Button1.OnClick = Methode2;". Diese Methoden müssen lediglich die passende Signatur zum Event haben, in diesem Fall Delphi-Referenz durchsuchenTNotifyEvent.

mkinzler 1. Mai 2009 07:21

Re: Buttons
 
Oder durch Setzen von Button2.Tag, welchen du dann in dessen Click-Event auswerten kannst

DP-Maintenance 1. Mai 2009 07:21

DP-Maintenance
 
Dieses Thema wurde von "mkinzler" von "Sonstige Fragen zu Delphi" nach "VCL / WinForms / Controls" verschoben.
Eine Frage zur VCL

craash 1. Mai 2009 08:41

Re: Buttons
 
vll gehts auch über die caption

zB button2 wird geklickt
=> edit1.text:= 'deintext';
=> button1.caption:= 'reset';

und dann beim button1-klick mit
Delphi-Quellcode:
if caption = 'reset' then ....

mkinzler 1. Mai 2009 08:43

Re: Buttons
 
Würde auch gehen, aber .Tag ist da imo besser geeignet

gangs-taas 1. Mai 2009 09:57

Re: Buttons
 
hey, vielen dank für eure hilfe, könnt ihr mir aber einen link geben, oder kurz erklären was das mit den Button.Tag ist ? weil ich habe selbst mit google nichts vernünftiges gefunden .. und verstehe nicht so recht was das ist ...
lg ^^
danke schonmal ^^

mkinzler 1. Mai 2009 10:02

Re: Buttons
 
.Tag ist eine Integer-Eigenschaft einer Komponente, die man frei verwenden kannst. Du kannst also bei Anklickaken von Button2 den Wert von Button1.Tag von 0 (Standard) auf etwas anderes ändern und dann im onClick diese Eigenschaft auswerten
Delphi-Quellcode:
if (Sender as TButton).Tag = 0 //Button2 wurde nicht geklickt
begin
   ...
end
else //Button2 wurde vorher geklickt
begin
   ...
end;

gangs-taas 1. Mai 2009 10:04

Re: Buttons
 
cool danke


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:35 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz