ComboBox auf Toolbar zeigt keine Reaktion

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Eckhard.S
Beiträge: 136
Registriert: 22.07.2006 17:19
Wohnort: Meschede/Sauerland

ComboBox auf Toolbar zeigt keine Reaktion

Beitrag von Eckhard.S »

1.) Wenn ich eine ComboBox oder Buttons auf Höhe der Toolbar plaziere, so zeigt sie keine Reaktion. Anscheinend ist die ganze Zeile für Tools aktiv. Kann man diese Zone der Toolbar in der Breite verkürzen, bzw die ComboBox integrieren? (Ich habe hierzu nur das "Rebar Control by Sparkie" gefunden, das mir aber zu mächtig erscheint)

2.) Meine Toolbar hat die Hintergrundfarbe des Fensters angenommen. Besser wäre das übliche grau wie in der Menüleiste.

Code: Alles auswählen

;Beschriftungen in Deutsch:

automatisch$="automatisch"

Esperanto$ = "Esperanto"
Aussprache$ = "Aussprache"
Deutsch$ = "Deutsch" 
zweisprachig$ = "zweisprachig"
Datei$ = "Datei"
Neu$ = "Neu"
Oeffnen$ = "Öffnen"
Speichern$ = "Speichern"

Enumeration 
  #window : #Menu 
  #menu1 : #menu2 : #menu3 
  #toolbar1 : #toolbar2 : #toolbar3 : #toolbar4 : #toolbar5 : #toolbar6
  #combobox1 : #combobox2
  #tile : #Splitter 
  #edit1 : #edit2 : #edit3 
  #Frame 
  #Button1 : #Button2 : #ButtonBoth 
  #inbtn_1 : #inbtn_2 : #inbtn_3 : #inbtn_4 : #inbtn_5 : #inbtn_6
  #outbtn_1 : #outbtn_2 : #outbtn_3 : #outbtn_4 : #outbtn_5 :  #outbtn_6
  
  #TestButton
EndEnumeration 

framebreite = 150

hwnd = OpenWindow(#window,0,0,800,600,"",#PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget) 
SetWindowColor(0,RGB(100, 150, 100))
CreateGadgetList(hwnd) 

CreateMenu(#window, hwnd)
MenuTitle(Datei$)
MenuItem(#menu1,Neu$)
MenuItem(#menu2,Oeffnen$)
MenuItem(#menu3,Speichern$)

CreateToolBar(#window, hwnd)
ToolBarStandardButton(#toolbar1,#PB_ToolBarIcon_New)
ToolBarStandardButton(#toolbar2,#PB_ToolBarIcon_Open)
ToolBarStandardButton(#toolbar3,#PB_ToolBarIcon_Save)
;ToolBarStandardButton(#toolbar4,#PB_ToolBarIcon_Undo)
;ToolBarStandardButton(#toolbar5,#PB_ToolBarIcon_Properties)
;ToolBarStandardButton(#toolbar6,#PB_ToolBarIcon_Redo)

    ComboBoxGadget(#combobox1, 150, 2, 100, 200) 
      For a=1 To 5 
        AddGadgetItem(#combobox1, -1, "ComboBox no " + Str(a)) 
      Next 
    SetGadgetState(#combobox1,0) 

    ComboBoxGadget(#combobox2, 20, 150, 100, 200) 
      For a=1 To 5 
        AddGadgetItem(#combobox2, -1, "ComboBox yes " + Str(a)) 
      Next 
    SetGadgetState(#combobox2,0) 

Frame3DGadget(#Frame,5,17,framebreite -10,595-MenuHeight(),"") 
;ButtonGadget(#Button1   ,WindowWidth(#Window)-90,2,25,18,"1") 
;ButtonGadget(#Button2   ,WindowWidth(#Window)-60,2,25,18,"2") 
;ButtonGadget(#ButtonBoth,WindowWidth(#Window)-30,2,25,18,"1/2") 

ButtonGadget(#Button1   ,20,220,25,18,"1") 
ButtonGadget(#ButtonBoth,50,220,25,18,"1/2") 
ButtonGadget(#Button2   ,80,220,25,18,"2") 

 
EditorGadget(#edit1,0,0,0,0) 
EditorGadget(#edit2,0,0,0,0, #PB_Window_Invisible )                          ; NEU !!!!
EditorGadget(#edit3,0,0,0,0, #PB_Editor_ReadOnly) 

SplitterGadget(#Splitter, framebreite, 22, WindowWidth(#Window)- framebreite - 5, WindowHeight(#Window)-27,#edit1, #edit3) 
AddGadgetItem(#edit1,0,"Esperanto-Textfield (1)") 
AddGadgetItem(#edit2,0,"Esperanto-Ersatztext (2)")                           ; NEU !!!!
AddGadgetItem(#edit3,0,"German-Textfield (3)") 

ButtonGadget(#inbtn_1, 50,  40, 90, 18, automatisch$, #PB_Button_Toggle) 
ButtonGadget(#inbtn_2, 50,  60, 90, 18, "^c ^j ^g ^h ^s ^u", #PB_Button_Toggle) 
ButtonGadget(#inbtn_3, 50,  80, 90, 18, "cx jx gx hx sx ux", #PB_Button_Toggle) 
ButtonGadget(#inbtn_4, 50, 100, 90, 18, "ch jh gh hh sh uh", #PB_Button_Toggle) 
ButtonGadget(#inbtn_5, 50, 120, 90, 18, "c^ j^ g^ h^ s^ u^", #PB_Button_Toggle) 
 
ButtonGadget(#outbtn_1, 50, WindowHeight(#Window)/2+30, 90, 18, automatisch$, #PB_Button_Toggle) 
ButtonGadget(#outbtn_2, 50, WindowHeight(#Window)/2+50, 90, 18, "^c ^j ^g ^h ^s ^u", #PB_Button_Toggle) 
ButtonGadget(#outbtn_3, 50, WindowHeight(#Window)/2+70, 90, 18, "cx jx gx hx sx ux", #PB_Button_Toggle) 
  
  set1 = 0 
  set2 = 3 

Repeat 
  event = WaitWindowEvent() 
  
  
  
Until event = #WM_CLOSE
Viele Grüße aus dem Sauerland
Eckhard

PureBasic 4.0 Vollversion, WinXP
Make a better world :D
Benutzeravatar
Ja!
Beiträge: 271
Registriert: 02.01.2006 16:13
Wohnort: Stuttgart

Beitrag von Ja! »

Die ToolbarPro aus der PBOSL kann Gadgets zwischen den Buttons einbauen.

Gruß
Udo
PureBasic 3.94 ; 4.2 ; 4.3
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Code: Alles auswählen

If OpenWindow(0, #PB_Ignore, 0, 200, 100, "Test")

  ToolBar.l = CreateToolBar(0, WindowID(0))
  ToolBarStandardButton(0, #PB_ToolBarIcon_New)
  
  If CreateGadgetList(WindowID(0))
    ComboBoxGadget(0, 25, 0, 100, 100)
    SetParent_(GadgetID(0), ToolBar)
  EndIf
  
  Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Eckhard.S
Beiträge: 136
Registriert: 22.07.2006 17:19
Wohnort: Meschede/Sauerland

Beitrag von Eckhard.S »

Klasse! Vielen Dank!
Viele Grüße aus dem Sauerland
Eckhard

PureBasic 4.0 Vollversion, WinXP
Make a better world :D
Benutzeravatar
saimen
Beiträge: 172
Registriert: 26.01.2005 10:44
Wohnort: Passau
Kontaktdaten:

Beitrag von saimen »

Wie löse ich das wenn ich zuerst die Combobox will und danach den Button??

Code: Alles auswählen

If OpenWindow(0, #PB_Ignore, 0, 200, 100, "Test")

  ToolBar.l = CreateToolBar(0, WindowID(0))
    ComboBoxGadget(0, 0, 0, 100, 100)
    SetParent_(GadgetID(0), ToolBar)  
    ToolBarStandardButton(0, #PB_ToolBarIcon_New)
    
  Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
Code in PB4.30
Andesdaf
Moderator
Beiträge: 2673
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Beitrag von Andesdaf »

ganz schön alt der Thread...

vielleicht könntest du ein paar lerre Buttons machen (#PB_Any) und in dem
freien Platz dann das ComboBoxGadget einzusetzen.

Irgendwie gab es doch mal eine Möglichkeit, Teile des Menüs rechtsbündig
zu machen, vielleicht geht das auch bei einer Toolbar.
Win11 x64 | PB 6.20
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Code: Alles auswählen

If OpenWindow(0, #PB_Ignore, 0, 200, 100, "Test")

  ComboBoxGadget(0, 0, 0, 100, 25)
  ContainerGadget(1, GadgetWidth(0), 0, WindowWidth(0) - GadgetWidth(0), 25)
  CreateToolBar(0, GadgetID(1)) 
  ToolBarStandardButton(0, #PB_ToolBarIcon_New)
  CloseGadgetList()

  Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten