ComboBoxGadget - Höhe

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
sen-me
Beiträge: 478
Registriert: 17.07.2005 16:02
Wohnort: Saarbrücken
Kontaktdaten:

ComboBoxGadget - Höhe

Beitrag von sen-me »

Spielt der Höhen-Flag überhaupt noch eine rolle?
Habe PB 4.0.2

Code: Alles auswählen

  If OpenWindow(0, 0, 0, 270, 140, "ComboBoxGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))
    ComboBoxGadget(0, 10, 10, 250, 100, #PB_ComboBox_Editable)
    AddGadgetItem(0, -1, "ComboBox editable...")
    ComboBoxGadget(1, 10, 40, 250, 100)
    For a = 1 To 5 : AddGadgetItem(1, -1,"ComboBox item " + Str(a)) : Next a
    SetGadgetState(1, 2)    ; wir setzen (beginnend bei 0) den dritten Eintrag als aktiven
    Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
  EndIf
Egal was man bei Höhe eingibt, er klappt immer ganz aus, ich will aber nur z.B. 2 Einträge angezeigt kriegen und der rest Scrollen.
Bild
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: ComboBoxGadget - Höhe

Beitrag von Kiffi »

?

Code: Alles auswählen

ComboBoxGadget(1, 10, 40, 250, 60)
a²+b²=mc²
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Das isn' feature von XP. Comboxen werden automatisch soweit ausgeklappt wie Platz aufm' Bildschirm ist. Macht Sinn wenn man viele Einträge hat. Dann muss man nicht elendich lang scrollen.

Wenn du's unbedingt brauchst erstell dein Anwendung ohne XP Manifest (Compiler Options) und gibt ne' Höhe von 60 ein.
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

Fluid Byte hat geschrieben:Das isn' feature von XP.
achso, XP...

Habbich hier nicht. Deshalb meine Verwunderung.

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Gib mal beim Gadget als Flag "#CBS_NOINTEGRALHEIGHT" mit an.
Benutzeravatar
sen-me
Beiträge: 478
Registriert: 17.07.2005 16:02
Wohnort: Saarbrücken
Kontaktdaten:

Beitrag von sen-me »

edel hat geschrieben:Gib mal beim Gadget als Flag "#CBS_NOINTEGRALHEIGHT" mit an.
:allright: Die Lösung gefällt mir am besten :)
Jetzt müsste man nurnoch hinkriegen das man noch die Höhe steuern kann, weil jetzt hat sie ne feste größe egal was ich in Höhe eintrag.
Bild
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Jetzt müsste man nurnoch hinkriegen das man noch die Höhe steuern kann, weil jetzt hat sie ne feste größe egal was ich in Höhe eintrag.
Wie jetzt? Genau das Gegenteil ist doch der Fall. Ich verstehe nicht wo jetzt das Problem hier ist. Die Größe ist nicht fix sondern variabel:
CBS_NOINTEGRALHEIGHT

Specifies that the size of the combo box is exactly the size specified by the application when it created the combo box. Normally, the system sizes a combo box so that it does not display partial items.
Wenn du #CBS_NOINTEGRALHEIGHT benutzt bist du selber dafür verantwortlich das die Höhe der Combobox so eingestellt ist das keine teilweise-dargestellten Enträge anzeigt werden. Natürlich nur wenn das erwünscht ist. D.h du musst bevor du das Gadget anzeigst die Höhe pixel-perfect einstellen und solltest du während der Laufzeit den Schrifttyp ändern muss die Höhe ebenfalls neu kalkuliert werden.
Windows 10 Pro, 64-Bit / Outtakes | Derek
Antworten