![]() |
Toolbar2000 Popup menüitem zuweisen!
hallo,
wie kann ich einem items die ich zur Laufzeit erstellen ein bestimmtes popup zuweisen??? und wie übergeb ich dann die werte (sender)? das ![]() so erstelle ich ein item zur laufzeit:
Delphi-Quellcode:
Kann mir jemand helfen!?
tempitem:=TTBItem.Create(Menu);
tempitem.Tag:=id; tempitem.ImageIndex:=1; tempitem.OnClick:=TTBItemClick; tempitem.Caption:=caption; tempitem.Hint:=url; menu.Items[i].Add(tempitem); Danke |
Re: Toolbar2000 Popup menüitem zuweisen!
hat keiner eine ahnung???
|
Re: Toolbar2000 Popup menüitem zuweisen!
Hallo,
von welchem Typ ist menu in deinem Beispiel? Wenn es ein TTBToolBar ist, dann sollte folgendes funktionieren:
Delphi-Quellcode:
Grüße vom marabu
type
TForm1 = class(TForm) // ... procedure MenuItemSelect(Sender: TTBCustomItem; Viewer: TTBItemViewer; Selecting: Boolean); // ... private MenuItemIndex: integer; end; implementation procedure TForm1.MenuItemSelect(Sender: TTBCustomItem; Viewer: TTBItemViewer; Selecting: Boolean); begin // wir merken uns welches item angeklickt wurde MenuItemIndex := Viewer.Index; end; procedure TForm1.MenuToolbarContextPopup(Sender: TObject; MousePos: TPoint; var Handled: Boolean); begin // Wir wechseln das ContextMenu des ToolBar nach Bedarf aus if MenuItemIndex = 5 then MenuToolBar.PopupMenu := TestPopupMenu else MenuToolBar.PopupMenu := ToolbarPopupMenu; end; procedure TForm1.CreateMenuItem(Menu: TTBToolBar; sCaption: string; id: integer; url: string; ). var tempItem: TTBItem; begin tempItem := TTBItem.Create(Menu); // deine Zuweisungen tempItem.OnSelect := MenuItemSelect; Menu.Items[i].Add(tempItem); end; |
Re: Toolbar2000 Popup menüitem zuweisen!
danke, aber das funktioniert irgendwie nicht. fehlermeldunge bekomme ich nicht, aber es wird mir kein popup angezeigt!
??? |
Re: Toolbar2000 Popup menüitem zuweisen!
Hallo.
Setze einen BreakPoint in MenuItemSelect und vergewissere dich, dass die Routine angesprungen wird, wenn du mit der rechten Maustaste auf dein MenuItem klickst. Vergleiche dabei den Viewer.Index mit dem Wert in MenuToolbarContextPopup. marabu |
Re: Toolbar2000 Popup menüitem zuweisen!
naja, also den index bekomm ich geliefert, allerdings nicht bei einem rechtsklick, sondern wenn ich mit der maus über den eintrag gehe!!!!
er scheint : TForm1.MenuToolbarContextPopup nicht aufzurufen! was ich auch nicht versteh :
Delphi-Quellcode:
wieso
// Wir wechseln das ContextMenu des ToolBar nach Bedarf aus
if MenuItemIndex = 5 then Bookmark_Toolbar.PopupMenu := LinkPopup else Bookmark_Toolbar.PopupMenu := LinkPopup; Zitat:
|
Re: Toolbar2000 Popup menüitem zuweisen!
Ich musste den Code bei mir mit irgendwas Testen - und bei mir war 5 der richtige Wert. Du musst den für dein Programm richtigen Wert bestimmen. Eine Möglichkeit ist durch das Setzen eines BreakPoint, aber es gibt bestimmt auch andere Wege...
Hast du MenuToolbarContextPopup() überhaupt deiner Menu-Komponente zugewiesen? marabu |
Re: Toolbar2000 Popup menüitem zuweisen!
ja, hab ich. das mit dem wert ist erstmal egal...
fakt ist, das hier nirgendwo der unterschied zwischen rechtsklick und mouseover erfolgt? |
Re: Toolbar2000 Popup menüitem zuweisen!
Liste der Anhänge anzeigen (Anzahl: 1)
Guten Morgen.
Deine Fakten sind nicht meine. Vielleicht findest du im angehängten Demo-Projekt den Grund, warum dein Programm mit meinem Code nicht funktioniert. Freundliche Grüße vom marabu |
Re: Toolbar2000 Popup menüitem zuweisen!
danke
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:46 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 by Thomas Breitkreuz