ButtonImageGadget über ToolBar

Für allgemeine Fragen zur Programmierung mit PureBasic.
Gonzo
Beiträge: 24
Registriert: 24.04.2006 14:24

ButtonImageGadget über ToolBar

Beitrag von Gonzo »

Hallo zusammen,
kann mir jemand sagen, ob es möglich ist das ButtonImageGadget über die ToolBar zu plazieren?

Vielleicht im Detail:
Die ToolBar nimmt unabhängig von der Anzahl der ToolBarToolTips leider die ganze Fensterbreite ein. Ich wollte oben rechts, praktisch über der ToolBar, jedoch da wo keine ToolBarToolTips sind, ein ButtonImageGadget plazieren.
Leider stellte ich fest, dass das ButtonImageGadget dann nicht funktioniert.
Gibt es da eine Abhilfe?
Gruss, Gonzo
Sven
Beiträge: 374
Registriert: 23.09.2004 12:01

Beitrag von Sven »

Da gibt's ein Beispiel im Code-Archiv dazu, hab ich aber jetzt nicht parat, schau mal unter Toolbar. Nutzt natürlich Win-API und die Handles der Toolbar und des Buttons. Ansonsten gibt's auch ein Beispiel, wie man Gadgets in der Statusbar platziert, das Prinzip ist das Gleiche.

Sven
Benutzeravatar
PBZecke
Beiträge: 399
Registriert: 02.09.2004 17:34

Beitrag von PBZecke »

Wie bereits gesagt mittels Setparent_()

Beispiel:

Code: Alles auswählen

;
; ------------------------------------------------------------
;
;   PureBasic - ToolBar example file
;
;    (c) 2003 - Fantaisie Software
;
; ------------------------------------------------------------
;


If OpenWindow(0, 100, 200, 195, 260, "ToolBar example", #PB_Window_SystemMenu | #PB_Window_SizeGadget)

  ToolbarHandle = CreateToolBar(0, WindowID(0))
  
    ToolBarStandardButton(0, #PB_ToolBarIcon_New)
    ToolBarStandardButton(1, #PB_ToolBarIcon_Open)
    ToolBarStandardButton(2, #PB_ToolBarIcon_Save)
    
    ToolBarSeparator()

    ToolBarStandardButton(3, #PB_ToolBarIcon_Print)
    ToolBarToolTip(0, 3, "Print")
    
    ToolBarStandardButton(4, #PB_ToolBarIcon_Find)
    ToolBarToolTip(0, 4, "Find a document")
    
    ToolBarSeparator()
      



If CreateGadgetList(WindowID(0))

 BtnHandle = ButtonGadget(0,150,0,20,20,"?")
 SetParent_(BtnHandle, ToolbarHandle)

EndIf

  If CreateMenu(0, WindowID(0))
    MenuTitle("Project")
      MenuItem(0, "New")
      MenuItem(1, "Open")
      MenuItem(2, "Save")
  EndIf
  
  ;
  ; Attach our previously created ToolBar to this window
  ;
    
  DisableToolBarButton(0, 2, 1) ; Disable the button '2'
  
  ;
  ; The event loop. A ToolBar event is like a Menu event (as tools are shortcut for menu the most
  ; of the time). This is handy, as if the ToolBar buttons and the MenuItem have the same ID, then
  ; the same operation can be done on both action without any adds..
  ;
  
  Repeat
    EventID = WaitWindowEvent()

    ;Debug EventID
    ;Debug EventGadgetID()

    Select EventID
    
      Case #PB_Event_Menu
        MessageRequester("Information", "ToolBar or Menu ID: "+Str(EventMenu()), 0)
      
      Case #PB_Event_CloseWindow  ; If the user has pressed on the close button
        Quit = 1
        
    EndSelect

  Until Quit = 1
  
EndIf

End   ; All the opened windows are closed automatically by PureBasic
Ist zwar kein Buttonimagegadget, sollte aber auch gehen.
Nein, ich habe die Suche nicht benutzt, und deshalb auch nichts dazu gefunden... :lol:
Antworten