![]() |
Quellcode zur Laufzeit ändern?
Hi
ich habe in meinem Programm eine Bildschirmtastatur integriert. (Anhang s. Beitrag ![]() Zu dieser Tastatur gehört auch ein NUM-Feld, dessen Zahlen am Anfang deaktiviert sind. Zum Aktivieren klicke ich auf NUM. Nun möchte ich die Zahlen auch wieder über diese Taste deaktivieren. Dazu müsste ich aber beim aktivieren der Zahlen den Code des Buttons ändern, damit diser dann den Code hat, die Tasten zu deaktivieren und wieder umgekehrt. Das ist der Code, um das Zahlenfeld zu aktivieren:
Delphi-Quellcode:
Der Code müsste dann praktisch so aussehen:
procedure TForm1.Button84Click(Sender: TObject);
begin Panel16.Color:=clLime; Button85.Enabled:=true; Button86.Enabled:=true; Button87.Enabled:=true; Button88.Enabled:=true; Button99.Enabled:=true; Button96.Enabled:=true; Button97.Enabled:=true; Button98.Enabled:=true; Button93.Enabled:=true; Button94.Enabled:=true; Button95.Enabled:=true; Button90.Enabled:=true; Button91.Enabled:=true; Button92.Enabled:=true; end;
Delphi-Quellcode:
und dann natürlich wieder umgekehrt.
procedure TForm1.Button84Click(Sender: TObject);
begin Panel16.Color:=clGreen; Button85.Enabled:=false; Button86.Enabled:=false; Button87.Enabled:=false; Button88.Enabled:=false; Button99.Enabled:=false; Button96.Enabled:=false; Button97.Enabled:=false; Button98.Enabled:=false; Button93.Enabled:=false; Button94.Enabled:=false; Button95.Enabled:=false; Button90.Enabled:=false; Button91.Enabled:=false; Button92.Enabled:=false; end; Wie muss ich das machen? |
Re: Quellcode zur Laufzeit ändern?
Delphi-Quellcode:
bNumPressed noch im FormCreate oder sonstwo initialisieren
type
TForm1 = class(TForm) private bNumPressed: boolean; end;
Delphi-Quellcode:
procedure TForm1.Button84Click(Sender: TObject);
begin bNumPressed := not bNumPressed; Button85.Enabled := bNumPressed; [...] Button92.Enabled := bNumPressed; if bNumPressed then Panel1.Color := clLime else Panel1.Color := clGreen; end; |
Re: Quellcode zur Laufzeit ändern?
Zitat:
Die Lösung hat ja mein Vorredner schon geschrieben... |
Re: Quellcode zur Laufzeit ändern?
Zitat:
Uli. |
Re: Quellcode zur Laufzeit ändern?
Eine andere Idee wäre es, den Eventhandler umzubiegen.
Du machst einen Event OnActivate und einen OnDeactivate. Mit ButtonToggle.OnClick := OnActivate; bzw. ButtonToggle.OnClick := OnDeactivate; Kannst Du also festlegen, welche Methode beim nächsten Klick ausgelöst wird. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:51 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