ToolBar: BindMenuEvent

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
Sicro
Beiträge: 968
Registriert: 11.08.2005 19:08
Kontaktdaten:

ToolBar: BindMenuEvent

Beitrag von Sicro »

Sollte das nicht funktionieren?

Code: Alles auswählen

Procedure ToolBarCallback()
  Debug EventMenu()
EndProcedure

If OpenWindow(0, 0, 0, 150, 25, "ToolBar", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  If CreateToolBar(0, WindowID(0))
    ToolBarStandardButton(0, #PB_ToolBarIcon_New)
    ToolBarStandardButton(1, #PB_ToolBarIcon_Open)
    ToolBarStandardButton(2, #PB_ToolBarIcon_Save)
  EndIf
  BindMenuEvent(0, 0, @ToolBarCallback())
  BindMenuEvent(0, 1, @ToolBarCallback())
  BindMenuEvent(0, 2, @ToolBarCallback())
  Repeat
    Event = WaitWindowEvent()
  Until Event = #PB_Event_CloseWindow 
EndIf
Beim Ausführen erhalte ich die Meldung: "Das definierte #Menu ist nicht initialisiert."
Bild
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
Benutzeravatar
Rudi
Beiträge: 143
Registriert: 22.04.2010 18:28
Wohnort: #PB_Any

Re: ToolBar: BindMenuEvent

Beitrag von Rudi »

BindMenuEvent() geht wohl nicht mit der Toolbar - nur mit Menu! Es gibt auch keine Alternative.
Win7 (x64)PB 5.4x (x86)5,7 Windows-LeistungsindexSuche
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Re: ToolBar: BindMenuEvent

Beitrag von edel »

Eine Alternative waere vielleicht so:

Code: Alles auswählen

Procedure ToolBarCallback()
  Debug EventMenu()
EndProcedure

If OpenWindow(0, 0, 0, 150, 25, "ToolBar", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  If CreateToolBar(0, WindowID(0))
    ToolBarStandardButton(0, #PB_ToolBarIcon_New)
    ToolBarStandardButton(1, #PB_ToolBarIcon_Open)
    ToolBarStandardButton(2, #PB_ToolBarIcon_Save)
  EndIf
  
  BindEvent(#PB_Event_Menu, @ToolBarCallback(), 0, 0)
  BindEvent(#PB_Event_Menu, @ToolBarCallback(), 0, 1)
  BindEvent(#PB_Event_Menu, @ToolBarCallback(), 0, 2)
  
  Repeat
    Event = WaitWindowEvent()
  Until Event = #PB_Event_CloseWindow 
EndIf
Benutzeravatar
Sicro
Beiträge: 968
Registriert: 11.08.2005 19:08
Kontaktdaten:

Re: ToolBar: BindMenuEvent

Beitrag von Sicro »

Danke edel, so geht es.

Inzwischen leuchtet mir auch ein, warum das nicht mit BindMenuEvent funktioniert. Die ToolbarButtons erzeugen ja kein Menü-Eintrag, sondern senden nur ihr Event als Menü-Event.
Bild
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
Antworten