Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Toolbar2000 Popup menüitem zuweisen! (https://www.delphipraxis.net/58300-toolbar2000-popup-menueitem-zuweisen.html)

TriphunEM 5. Dez 2005 10:40


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 hier hat mit nicht weitergeholfen, und verstehen tu ich das auch ne!

so erstelle ich ein item zur laufzeit:
Delphi-Quellcode:
          tempitem:=TTBItem.Create(Menu);
          tempitem.Tag:=id;
          tempitem.ImageIndex:=1;
          tempitem.OnClick:=TTBItemClick;
          tempitem.Caption:=caption;
          tempitem.Hint:=url;
          menu.Items[i].Add(tempitem);
Kann mir jemand helfen!?

Danke

TriphunEM 6. Dez 2005 09:16

Re: Toolbar2000 Popup menüitem zuweisen!
 
hat keiner eine ahnung???

marabu 6. Dez 2005 10:35

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:
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;
Grüße vom marabu

TriphunEM 6. Dez 2005 19:01

Re: Toolbar2000 Popup menüitem zuweisen!
 
danke, aber das funktioniert irgendwie nicht. fehlermeldunge bekomme ich nicht, aber es wird mir kein popup angezeigt!
???

marabu 6. Dez 2005 19:35

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

TriphunEM 6. Dez 2005 20:39

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:
  // Wir wechseln das ContextMenu des ToolBar nach Bedarf aus
  if MenuItemIndex = 5
    then Bookmark_Toolbar.PopupMenu := LinkPopup
    else Bookmark_Toolbar.PopupMenu := LinkPopup;
wieso
Zitat:

enuItemIndex = 5
???

marabu 6. Dez 2005 20:53

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

TriphunEM 7. Dez 2005 08:22

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?

marabu 7. Dez 2005 08:59

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

TriphunEM 7. Dez 2005 09:11

Re: Toolbar2000 Popup menüitem zuweisen!
 
danke


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:09 Uhr.
Seite 1 von 2  1 2      

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