ComboBox
-
- Beiträge: 214
- Registriert: 30.03.2014 19:57
- Computerausstattung: Purebasic 5.70
- Wohnort: 18314 Löbnitz
ComboBox
Ich habe im Forum gesucht, aber nichts darüber gefunden.
Ist es möglich eine Combobox in eine Statusbar einzubauen ?
Wenn ja, wie müsste der Code dann aussehen?
Ist es möglich eine Combobox in eine Statusbar einzubauen ?
Wenn ja, wie müsste der Code dann aussehen?
Zuletzt geändert von schleicher am 14.07.2014 15:49, insgesamt 1-mal geändert.
Purebasic 5.51
Re: ComboBox
SetParent_()
-
- Beiträge: 214
- Registriert: 30.03.2014 19:57
- Computerausstattung: Purebasic 5.70
- Wohnort: 18314 Löbnitz
Re: ComboBox
Leider gibt es zu SetParent_() in PB keine Hilfe.
Wie müsste der code lauten um eine ComboBox in die Statusbar zu bekommen?
Wie müsste der code lauten um eine ComboBox in die Statusbar zu bekommen?
Purebasic 5.51
Re: ComboBox
SetParent_() ist keine PB-Funktion, sondern eine vom Betriebssystem bereitgestellte WinAPI-Funktion, die du in PureBasic ebenfalls nutzen kannst. Die Dokumentation dieser Funktionen findest du auf der Microsoft-Seite (MSDN).
Bezüglich dieser Funktion kannst du auf der folgenden Seite die Beschreibung und Parameterliste lesen: http://msdn.microsoft.com/de-de/library ... 85%29.aspx
1. Parameter: Quell-Handle deines Gadgets (GadgetID())
2. Parameter: Ziel-Handle deiner StatusBar (StatusBarID())
Das sollte jetzt klar sein oder? Wenn nicht, frag nochmal.
\\Edit:
Siehe ts-softs Beispielcode, wobei ich der Meinung bin, dass man das selber lernen sollte, denn reines Copy Paste ist nicht so hilfreich.
Bezüglich dieser Funktion kannst du auf der folgenden Seite die Beschreibung und Parameterliste lesen: http://msdn.microsoft.com/de-de/library ... 85%29.aspx
1. Parameter: Quell-Handle deines Gadgets (GadgetID())
2. Parameter: Ziel-Handle deiner StatusBar (StatusBarID())
Das sollte jetzt klar sein oder? Wenn nicht, frag nochmal.

\\Edit:
Siehe ts-softs Beispielcode, wobei ich der Meinung bin, dass man das selber lernen sollte, denn reines Copy Paste ist nicht so hilfreich.

- 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
Re: ComboBox
Wenn es für Windows ist (und nur dann
):

Code: Alles auswählen
EnableExplicit
OpenWindow(0, #PB_Ignore, #PB_Ignore, 800, 600, "")
If ComboBoxGadget(0, 102, 2, 200, 19)
AddGadgetItem(0, -1, "True")
AddGadgetItem(0, -1, "False")
SetGadgetState(0, 0)
EndIf
If CreateStatusBar(0, WindowID(0))
AddStatusBarField(100)
SetParent_(GadgetID(0), StatusBarID(0))
EndIf
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Break
EndSelect
ForEver
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.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

-
- Beiträge: 214
- Registriert: 30.03.2014 19:57
- Computerausstattung: Purebasic 5.70
- Wohnort: 18314 Löbnitz
Re: ComboBox
Danke für den Tip. Funktioniert !
Da es eine Winapi-Funktion ist, geht das nur in Windows, verstehe ich.
Gibt es eine andere Möglichkeit, das es auch für Linux funktionieren würde ?
Da es eine Winapi-Funktion ist, geht das nur in Windows, verstehe ich.
Gibt es eine andere Möglichkeit, das es auch für Linux funktionieren würde ?
Purebasic 5.51
Re: ComboBox
Versuch mal folgendes: http://www.purebasic.fr/german/viewtopi ... 16#p321116
- NicTheQuick
- Ein Admin
- Beiträge: 8809
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Re: ComboBox
So scheint es zu gehen:
Code: Alles auswählen
EnableExplicit
OpenWindow(0, #PB_Ignore, #PB_Ignore, 800, 600, "")
If ComboBoxGadget(0, 102, 2, 200, 19)
AddGadgetItem(0, -1, "True")
AddGadgetItem(0, -1, "False")
SetGadgetState(0, 0)
EndIf
If CreateStatusBar(0, WindowID(0))
AddStatusBarField(100)
CompilerSelect #PB_Compiler_OS
CompilerCase #PB_OS_Windows
SetParent_(GadgetID(0), StatusBarID(0))
CompilerCase #PB_OS_Linux
gtk_widget_reparent_(GadgetID(0), StatusBarID(0))
CompilerEndSelect
EndIf
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Break
EndSelect
ForEver
Re: ComboBox
Also wenn gtk_widget_reparent funktioniert, dann sollte auch ein UseGadgetList reichen, und diesmal wirklich 

Code: Alles auswählen
EnableExplicit
OpenWindow(0, #PB_Ignore, #PB_Ignore, 800, 600, "")
If CreateStatusBar(0, WindowID(0))
AddStatusBarField(100)
UseGadgetList(StatusBarID(0))
If ComboBoxGadget(0, 102, 2, 200, 19)
AddGadgetItem(0, -1, "True")
AddGadgetItem(0, -1, "False")
SetGadgetState(0, 0)
EndIf
EndIf
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Break
EndSelect
ForEver
- 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
Re: ComboBox
Naja, aber unter linux kommt da nixedel hat geschrieben:und diesmal wirklich

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.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
