![]() |
Popup Menü auf erstellter Listbox
Hallo liebe Community,
ich habe mehrere Listboxen während der Laufzeit erstellt. Jede von ihnen bekommt das gleiche Popup zugewiesen. Jetzt versuche ich mit diesem Code einen Text in die jeweilige Listbox einzufügen:
Delphi-Quellcode:
Es erscheind jedoch kein Text! Wo liegt mein Denkfehler?
if Rechtsklick.PopupComponent is TListbox then
(Rechtsklick.PopupComponent as TListbox).Items.Add('Irgendein Text'); Beim debuggen sagt er mir: (Rechtsklick.PopupComponent as TListbox) = Ungültiger Ausdruck im Evaluator! Liebe Grüße und hoffentlich hilfreiche Antworten loirad |
AW: Popup Menü auf erstellter Listbox
Was ist Rechtsklick? Klingt für mich wie ein Ereignis. etwas mehr Code wäre, glaube ich, hilfreich.
|
AW: Popup Menü auf erstellter Listbox
Rechtsklick wird das PopupMenu sein, sagt mir meine Glaskugel
|
AW: Popup Menü auf erstellter Listbox
Ich vermute mal das sollte eher so aussehen,vorausgesetzt dein Rechtsklick.PopupComponent ist auch die entsprechende Listbox (Sender).
Delphi-Quellcode:
TListBox(Rechtsklick.PopupComponent).Items.Add('Irgendein Text');
|
AW: Popup Menü auf erstellter Listbox
Zitat:
Wenn man nicht sicher ist mit welcher Komponente man es zu tun hat, dann lässt man sich den Namen ausgeben:
Delphi-Quellcode:
procedure ShowCompName(c:TComponent);
begin if Assigned(c) then ShowMessage(c.Name+':'+c.ClassName); end; ... ShowCompName(Rechtsklick.PopupComponent); |
AW: Popup Menü auf erstellter Listbox
Naja er hat ja schon ne if Überprüfung auf TListbox, die hab ich nur nicht dazugeschrieben weil ich glaube der Haupt-Fehler liegt in der einen Zeile und denke das
er schon weis das die if-Abfrage dazugehört. Ich wollte aber noch anmerken das Sender(TObject) prima zum Verweis auf das eigentlich aufrufende Object verwendet werden kann. Die Casts sind mit den richtigen Typen absolut problemlos und oft sogar notwendig. Aber ich seh's ein ich hab geschludert und es nicht eindeutig geschrieben. |
AW: Popup Menü auf erstellter Listbox
Rechtsklick ist in der Tat das Popup-Menü.
Dieser Ausschnitt ist ein Teil der Prozedur, die ausgelöst wird bei dem Klick auf ein Element des Popup-Menüs. @busybyte: Der Code funktioniert leider auch nicht. @shima: Er gibt mir zurück, dass es eine TListBox ist. Was hat das hier zu bedeuten:
Code:
(das gibt er mir beim debuggen zurück, wenn ich über den Punkt dahinter gehe)!
(Rechtsklick.PopupComponent as TListbox) = Ungültiger Ausdruck im Evaluator!
Hat das etwas damit zu tun? Liebe Grüße und vielen Dank für die Antworten:thumb: loirad PS.: Wenn ihr den gesamten Code sehen wollt, dann sagt bitte nochmal bescheid! |
AW: Popup Menü auf erstellter Listbox
Fehler gefunden!!!
Es lag daran, dass ich im DrawItem etwas hatte, was vor das Item etwas gezeichnet hat *facepalm* :oops:! Vielen Dank trotzdem für eure Hilfe! |
AW: Popup Menü auf erstellter Listbox
Zitat:
Nicht falsch verstehen, bin bereit meine Einstellung zu ändern, und wenn einer sagt, man macht es so, weil man es so machen soll und das die einzige richtige Art der Programmierung ist, dann bin ich beriet es zu akzeptieren. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20: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