![]() |
Menu in Klasse auslagern und über txt steuern
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ich kann über eine Menu.txt Datei mein Menü steuern. Es wird einfach die Anzahl der Zeilen in der txt genommen und so viele Images gezeichnet. Diese befunden sich horizontal nebeneinander. Wenn ich ein Image anklicke möchte ich nun, dass es leuchtend bleibt. (Das Active Image soll immer rot sein, also das was geklickt wurde) Wie kann ich das machen? Ich hänge meinen Code einfach mal an. So wie ich es gemacht habe funktiniert es leider nicht. (FActiveImage) PS: Die Caption wird nich nicht angezeigt!!! MFG Christian18 |
Re: Menu in Klasse auslagern und über txt steuern
Guten Tag, schon im Create hast Du etwas sinnlosen Code ;)
Delphi-Quellcode:
EDIT: Ausserdem würde ich empfehlen, mit TStringList zu arbeiten und nicht mit file, das geht hundertmal besser und man muss nicht alles von Hand machen, z.B. den Counter...if i = 0 then begin FImage[i].Picture.LoadFromFile(FPath + 'BtnMove.bmp'); //Lade das Bild in FImage[i] FActiveImage:=FImage[i]; //FActive Image (Pointer!) verweist jetzt auch auf FImage[I] FActiveImage.Picture.LoadFromFile(FPath + 'BtnMove.bmp'); //Lade das Bild ERNEUT in FImage[i]! end EDIT2: Und neben dem, dass mir nicht ganz klar ist, was Du eigentlich machen willst fehlt dir ein extrem wichtiges inherited Create deshalb bekommst Du immer Zugriffsverletzungen wenn auf deine Felder zugreifst... behebt den Fehler doch nicht... EDIT3:
Delphi-Quellcode:
Die Exception tritt auf, weil imho dein Event nicht den richtigen (versteckten) Self-Paramter mitgibt... Wie man das richtig macht kann ich Dir aber leider auch nicht sagen
procedure TForm1.Start(Sender: TObject);
begin Menu.ActiveImage:=TImage(Sender); //Hier exception... //weil: interner Aufruf: Self.Menu.ActiveImage:=TImage(Sender); //Workaround: Form1.Menu.ActiveImage:=TImage(Sender); ShowMessage('Start'); end; Gruß phreax |
Re: Menu in Klasse auslagern und über txt steuern
Hallo,
hat sonst jemand eine Idee? Die Informationen von phreax bringen mich nicht wirklich weiter. MFG Christian18 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:10 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