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 MessageDlg bei Anklicken einer CheckBox (https://www.delphipraxis.net/34944-messagedlg-bei-anklicken-einer-checkbox.html)

Gambit 30. Nov 2004 14:44


MessageDlg bei Anklicken einer CheckBox
 
Hallo,

ich habe eine CheckBox, die defaultmäßig nicht angeharkt ist. Jetzt soll, wenn der User die CheckBox anharken will, ein MessageDlg mit einer Warnmeldung erscheinen.
Das OnClick Ereignis ist hier wohl nicht anwendbar, oder? Ich speichere den jeweiligen Zustand der CheckBox in einer ini-Datei und stelle damit den zuletzt gewählten Zustand bei Aktivierung des Fensters wieder her. Wenn der jetzt auf true, also angeharkt war, wird scheinbar bei Aktivierung des Fensters auch ein OnClick Ereigniss ausgelöst, da der Defaultzustand ja false ist. Hoffe das ist jetzt verständlich...


Gruß

Gambit

MathiasSimmack 30. Nov 2004 14:56

Re: MessageDlg bei Anklicken einer CheckBox
 
Zitat:

Zitat von Gambit
ich habe eine CheckBox, die defaultmäßig nicht angeharkt ist. Jetzt soll, wenn der User die CheckBox anharken will, ein MessageDlg mit einer Warnmeldung erscheinen.

Welche Warnung? Dass die Harke stumpf ist? :mrgreen:

Sharky 30. Nov 2004 14:58

Re: MessageDlg bei Anklicken einer CheckBox
 
Hai Gambit,

mache es doch z.B. so:

Delphi-Quellcode:
var
  foo : TNotifyEvent;
begin
  foo := CheckBoxl.OnClick;
  CheckBox1.OnClick := nil;
  CheckBox1.Checked := Wert_aus_der_Ini;
  CheckBox1.OnClick := foo;
end;

Gambit 30. Nov 2004 15:04

Re: MessageDlg bei Anklicken einer CheckBox
 
Zitat:

Welche Warnung? Dass die Harke stumpf ist? :mrgreen:
Ich sollte weniger im Garten arbeiten...

Gambit 30. Nov 2004 15:14

Re: MessageDlg bei Anklicken einer CheckBox
 
@ Sharky:
So ganz habe ich das jetzt nicht verstanden, ist das nun um den Wert aus der Ini-Datei wiederherzustellen?

Gruß

Gambit

Sharky 30. Nov 2004 15:18

Re: MessageDlg bei Anklicken einer CheckBox
 
Ich hatte dich so verstanden das dein OnClick ausgelösst wird wenn Du den Wert aus der INI zuweisst.
Das ist auch so. Das .OnClick einer Checkbox wird ausgelösst sobald sich der Wert von .Checked ändert.
Mit dem Code mache ich ja nichts anderes als temporär der Checkbox kein OnClick zu zuordnen.
Oder hatte ich dich jetzt total falsch verstanden?

Gambit 30. Nov 2004 15:24

Re: MessageDlg bei Anklicken einer CheckBox
 
Ne, das hast du wohl nicht. Ich habe das jetzt auch mal so an der Stelle implementiert, wo ich den Wert aus der Ini-Datei wiederherstelle. Funzt auch soweit. Jetzt muss ich nur noch sehen, dass der MessageDlg nicht auch dann ausgelöst wird, wenn ich die ChechBox deaktivieren will. Aber das sollte ja nicht allzu schwer werden, hoffe ich.

Gruß

Gambit

fkerber 30. Nov 2004 15:30

Re: MessageDlg bei Anklicken einer CheckBox
 
Hi!

Überprüf doch dann zusätzlich beim OnClick ob sie gerade angehakt wurde oder eben nicht
(musst halt gucken, ob im OnClick schon der neue Zustand vorherrscht oder noch der alte)

Je nachdem zeigst du dann eben nur in einem der beiden Fälle die Meldung.


Ciao Frederic

Gambit 30. Nov 2004 15:36

Re: MessageDlg bei Anklicken einer CheckBox
 
ja, genauso oder ähnlich habe ich es jetzt auch gemacht. Einziger Schönheitsfehler ist vielleicht, dass die CheckBox jetzt erstmal angehakt wird und dann die Abfrage kommt, ob ich das wirklich tun will. Klicke ich auf Nein, wirds sie halt wieder deangehakt, wenn ich das mal so sagen darf...

Gruß

Gambit


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:30 Uhr.

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