ComboBoxGadget+WinXP

Anfängerfragen zum Programmieren mit PureBasic.
lite
Beiträge: 122
Registriert: 27.08.2012 21:08

ComboBoxGadget+WinXP

Beitrag von lite »

Hallo

Mir ist schon wieder was aufgefallen. Ist es schon wieder ein Fehler ?
Diesmal trifft es ComBoxGadget. Wen ich eine leere ComboBox erstelle,
und sie anklicke, wird eine sehr lange hässliche Ausklappbox dargestellt.
Sie ist 20* so hoch wie die Box selber.
Normalerweise dürfte nichts ausklappen, da kein Eintrag vorhanden ist.
Wen ich aber das Fenster minimiere und wieder herstelle, funktioniert alles perfekt.

Code: Alles auswählen

If OpenWindow(0, 0, 0, 270, 190, "ComboBox", #PB_Window_MinimizeGadget| #PB_Window_ScreenCentered) 
 
  ComboBoxGadget(0,10,40,250,20)
 
  Repeat
    WindowEvent = WaitWindowEvent()

    If WindowEvent = #PB_Event_Gadget
      If EventGadget() = 1
        
      EndIf
    EndIf
  Until WindowEvent = #PB_Event_CloseWindow

EndIf
Grüße
Lite
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: ComboBoxGadget+WinXP

Beitrag von Kiffi »

mir war so, als ob man einst eine -1 als Höhenparameter
angeben konnte. Somit wurde eine leere Combobox nicht
so 'hoch' ausgeklappt (oder habe ich das nur geträumt?).

Wie dem auch sei: Es funktioniert wohl nicht (mehr?)

Workaround: Einen Eintrag hinzufügen und dann alle Einträge
entfernen

Code: Alles auswählen

ComboBoxGadget(0,10,40,250,20)
AddGadgetItem(0, -1, "")
ClearGadgetItems(0)
Grüße ... Kiffi
a²+b²=mc²
lite
Beiträge: 122
Registriert: 27.08.2012 21:08

Re: ComboBoxGadget+WinXP

Beitrag von lite »

Hallo

@Kiffi
Danke für deinen Vorschlag.
Ein Pseudo-Eintrag ist keine perfekte Lösung, es minimiert zwar die Ausklappbox
aber der Fehler ist immernoch da.
Mir scheint als wäre PureBasic noch im Betastadium. :cry:

Hier ein Video zu diesem Problem:

http://www.top-pe.de/LSp/test/dev/ComboBox.avi

Grüße
Lite
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: ComboBoxGadget+WinXP

Beitrag von STARGÅTE »

Wenn du den Fehler nicht meldest, kann er auch nicht behoben werden.
Und da er noch nicht von anderen gemeldet wurde, scheint es ja "egal" zu sein,
zumal man normalerweise eine ComboBox füllt.

Falls du nicht warten willst, kannst du auch über WIN-API eine ComboBox erzeugen:

Code: Alles auswählen

Enumeration
	#Window
EndEnumeration


OpenWindow(#Window, 0, 0, 800, 600, "WindowTitle", #PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
CreateWindow_(#WC_COMBOBOX, @"", #CBS_DROPDOWN|#CBS_HASSTRINGS|#WS_CHILD|#WS_OVERLAPPED|#WS_VISIBLE, 10, 10, 200, 20, WindowID(#Window), #Null, #NUL, #Null)

Repeat
	
	Select WaitWindowEvent()
			
		Case #PB_Event_CloseWindow
			End
			
	EndSelect
	
ForEver
@Kiffi:
-1 als Höhe erzeugt eine ComboBox mit optimaler höhe (meist 21-24 Pixel).
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
lite
Beiträge: 122
Registriert: 27.08.2012 21:08

Re: ComboBoxGadget+WinXP

Beitrag von lite »

Hallo

@Stargate
Danke für deinen Lösungsansatz.
Mit diesem Post möchte ich, das vorhandene Fehler behoben und PureBasic besser wird.
Dringender wäre, der Fehler mit der ScrollArea zu beheben.

Grüsse
Lite
Antworten