Seite 1 von 1

ComboBoxGadget - Höhe

Verfasst: 05.03.2007 14:28
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.

Re: ComboBoxGadget - Höhe

Verfasst: 05.03.2007 14:35
von Kiffi
?

Code: Alles auswählen

ComboBoxGadget(1, 10, 40, 250, 60)

Verfasst: 05.03.2007 14:37
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.

Verfasst: 05.03.2007 14:41
von Kiffi
Fluid Byte hat geschrieben:Das isn' feature von XP.
achso, XP...

Habbich hier nicht. Deshalb meine Verwunderung.

Grüße ... Kiffi

Verfasst: 05.03.2007 16:09
von edel
Gib mal beim Gadget als Flag "#CBS_NOINTEGRALHEIGHT" mit an.

Verfasst: 07.03.2007 12:15
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.

Verfasst: 07.03.2007 13:13
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.