Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Methode für Checkbox (https://www.delphipraxis.net/200647-methode-fuer-checkbox.html)

juelin 11. Mai 2019 11:19


Methode für Checkbox
 
hi,
habe Delphi XE5.
Habe wegen Hintergrundfarbe und Schriftfarbe
eigene Checkboxen erstellt (Vorlage hier aus dem Forum).
Klappt auch alles ganz prima.
Nun möchte ich noch das Ereignis OnClick einfügen. CheckBox1 steht ja leider nicht im Objektinspektor.
Weiss aber nicht wie.
Kann da jemand helfen, am besten mit Beispiel?

Code:

Delphi-Quellcode:
unit:
interface:
type:
  TForm11 = class(TForm)
    procedure FormCreate(Sender: TObject);
var
  Form11: TForm11;
  CheckBox1: TCheckBox;
inplementation
procedure TForm11.FormCreate(Sender: TObject);
begin
  CheckBox1:=TCheckBox.Create(Self);
end;
Einfach
in type
Delphi-Quellcode:
 procedure CheckBox1Click(Sender: TObject);
einfügen geht nicht.

Gruß
Jürgen

haentschman 11. Mai 2019 12:06

AW: Methode für Checkbox
 
Hallöle...8-)
Ich sehe mehrere Fehler:

1. Im DP Editor gibt es einen Knopf mit dem Delphi Helm. Damit wird der Code vernünftig formatiert. :thumb:
2. Vernüftige Namen für die Controls verwenden. CheckBox1 sagt nichts über die Aufgabe aus... besser z.B. chkSaveBlubb ... TForm11 :gruebel:

Zum Thema:
3. Deklaration von chkSaveBlubb: TCheckBox; in den private Abschnitt der Form verlagern. (globale Variablen sind Bäääh. :wink:)
4. es fehlt der Parent der Checkbox. (Self im Create ist nur der Owner) :warn:
5. Für dein Vorhaben fehlt eine Methode (sogenannter Eventhandler):
Delphi-Quellcode:
private
  procedure DoOnClickCheckBoxSaveBlubb(Sender: TObject); // gleiche Parameter wie das Original
...
implementation

procedure TForm11.FormCreate(Sender: TObject);
begin
chkSaveBlubb := TCheckBox.Create(Self);
chkSaveBlubb.Parent := Self; // oder das Control wo die Checkbox draufliegt. z.B. Panel
chkSaveBlubb.OnClick := DoOnClickCheckBoxSaveBlubb;
...
procedure TForm11.DoOnClickCheckBoxSaveBlubb(Sender: TObject)
begin
  // dein Code
end;
:wink:

juelin 11. Mai 2019 13:03

AW: Methode für Checkbox
 
Danke hat geholfen


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:34 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