Delphi-PRAXiS

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 Button Click ohne OnClick (https://www.delphipraxis.net/38795-button-click-ohne-onclick.html)

LoL 24. Jan 2005 09:31


Button Click ohne OnClick
 
hallo

kann man einen button drücken ohne das OnClick aufgerufen wird?

Steve 24. Jan 2005 09:35

Re: Button Click ohne OnClick
 
Hi,

mit
Delphi-Quellcode:
myButton.OnClick := NIL;
ist dem Ereignis nichts zugewiesen und somit "passiert" auch nix beim Draufklicken :)

Gruß
Stephan :dance:

alcaeus 24. Jan 2005 09:40

Re: Button Click ohne OnClick
 
Ich frage mich wozu das gut sein soll...denn wenn dem OnClick nichts zugewiesen ist, bringt ein Klick auf den Button wohl herzlich wenig... :gruebel:

Greetz
alcaeus

Sharky 24. Jan 2005 09:41

Re: Button Click ohne OnClick
 
Zitat:

Zitat von LoL
...kann man einen button drücken ohne das OnClick aufgerufen wird?

Welchen Sinn macht das denn? :stupid:

LoL 24. Jan 2005 09:46

Re: Button Click ohne OnClick
 
also ich hab auf der komponente schon ein ereigniss sonst würde meine frage prinzipiell keinen sinn machen. eigentlich gehts mir eher um eine checkbox als um einen button es ging mir ja nur ums prinzip. da ich den status im code veränder wird wenn ich
Delphi-Quellcode:
checkbox.checked := true;
das ereignis ausgelöst..
das will ich verhindern!

alles klar :?:

Luckie 24. Jan 2005 09:51

Re: Button Click ohne OnClick
 
Panel aufs Form, Checkbox drauf und Panel auf Enabled stellen, dann kann man den Status nicht ändern, es sieht aber normal aus (nicht ausgegraut).

LoL 24. Jan 2005 09:56

Re: Button Click ohne OnClick
 
danke luckie aber darum geht es mir nicht..

ich hab eine checkbox. der ist bei onclick ein ereignis zugewiesen. wenn ich im irgendwo im quelltest checkbox.checked := true schreibe wird das ereigniss ausgelöst! ich will aber das es nur ausgelöst wird wenn der "user" selbst drauf klickt und nicht das "programm" :zwinker:

ich hoff ich hab das einigermaßer versätndlich ausgedrückt.

Luckie 24. Jan 2005 09:58

Re: Button Click ohne OnClick
 
Ach so. ja, das hatten wir schon öfters hier im Forum. Wenn es per Code passiert: Adresse vom NotifyEvenbt merken, auf nil setzten und nachher wieder zuweisen.

Steve 24. Jan 2005 10:01

Re: Button Click ohne OnClick
 
Hi,

Delphi-Quellcode:
cbMyCheckBox.OnClick := NIL;
cbMyCheckBox.Checked := TRUE;
cbMyCheckBox.OnClick := cbMyCheckBoxClick; // Oder wie auch immer Deine Ereignisbehandlungsroutine heißt.
Gruß
Stephan :dance:

LoL 24. Jan 2005 10:24

Re: Button Click ohne OnClick
 
genau so habs ich jetzt auch gelöst

Sharky 24. Jan 2005 10:33

Re: Button Click ohne OnClick
 
Zitat:

Zitat von Steve
...Oder wie auch immer Deine Ereignisbehandlungsroutine heißt...

Hier noch mal das ganze als allgemeinere Lösung ;-)
Delphi-Quellcode:
procedure TForm1.CheckBox1Click(Sender: TObject);
var
  tmp_OnClick : TNotifyEvent;
begin
  with (Sender As TCheckBox) do
  begin
    tmp_OnClick := OnClick;
    OnClick := nil;
    Checked := True;
    OnClick := tmp_OnClick;
  end;
end;
[Edit]Was so natürlich keinen Sinn ergibt. Ich wollte nur den Weg mit dem TNotifyEvent zeigen ;-)

biochip 24. Jan 2005 13:31

Re: Button Click ohne OnClick
 
Hi, sharky

Hat dein Prinzip dan Sinn für Demos .Wenn Sofwareprogramm z.B Delphi demonstriert werden soll.
Der Mauszeiger wandert auf die Buttons und simuliert ein Mausclick(Button nihmt optisch den click an und führt den Code der Ereignisbehandlungsroutine aus . Wie könnte man das coden für ein Testbutton.

Gruss

biochip


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:26 Uhr.

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