COMBOBOXEX Listfeld vergrössern



  • Ich wollte wissen wie man da das listfeld vergrössern kann bei einer resource is das ja mit der maus gegangen aber hier...in der doku hab ich auch nix gefunden.

    danke im voraus



  • Ich weiß nicht, ob das das ist, was du suchst, aber vielleicht hilft dir MoveWindow?! 🙄



  • Ne das net.

    Aber wenn du auf ne combobox öffnet sich ja ne liste und die ist mir zu klein aber wie soll das gehen hab keinen plan.

    _____________
    |_____________| <----Combobox
    | |
    |___________| <----Listenelement von dem will ich die grösse änderen nicht von der combobox



  • Guck dir mal diese Message an: CB_SETITEMHEIGHT

    [ Dieser Beitrag wurde am 21.02.2003 um 18:34 Uhr von D@niel $chumann editiert. ]



  • Einfach im Ressource Skript die HEIGHT hochsetzen (is' standardmäßig 30 oder so).



  • CCombobox::CCombobox(HWND hwnd, int xpos, int ypos, int xsize, int ysize) {
    
        INITCOMMONCONTROLSEX icex;
    
        icex.dwSize = sizeof(INITCOMMONCONTROLSEX);
        icex.dwICC = ICC_USEREX_CLASSES;
    
        InitCommonControlsEx(&icex);
    
        this->hCombobox = CreateWindowEx (NULL,
                                          WC_COMBOBOXEX,
                                          NULL,
                                          WS_BORDER | WS_VISIBLE | WS_CHILD |CBS_DROPDOWNLIST,
                                          xpos, ypos,
                                          xsize, ysize,
                                          hwnd,
                                          (HMENU)this->GenerateID(),
                                          (HINSTANCE) GetWindowLong(hwnd, GWL_HINSTANCE),
                                          NULL);
    
    }
    

    han kein resource script 🙂 das SetITEMHeight is für die grösse der items in der liste und ne für das was ich will bitte kennt das keiner vielleicht superfritzi 😃



  • Das Teil unter dem Selection Field kannst du größer machen, indem die Höhe des Fensters bei CreateWindow größer machst.
    Mit CB_SETITEMHEIGHT kannst du das Selectin Field größer oder kleiner machen.



  • supi funzt danke 😃



  • Habe wohl das gleiche Problem.
    Allerdings möchte ich die Höhe der Auswahlliste innerhalb des Programms variabel verändern (gibt es einen Eintrag, soll das Listenfeld nur so hoch sein, dass dieser anzeigt wird, gibt es 2, soll es doppelt so groß werden wie vorher, gibt es >=3 Einträge, soll es immer 3 Einträge anzeigen und durch Scrollleiste hoch/runter scrollen lassen).

    Meine Combobox ist eine DropDownCombobox: IDC_AUFLOESUNG.

    Mit

    int itemHeight = SendDlgItemMessage(hDlg, IDC_AUFLOESUNG, CB_GETITEMHEIGHT, 0, 0);
    

    habe ich die Höhe einer Zeile ausgelesen (13 Pixel) und wollte dann mit

    SendDlgItemMessage(hDlg, IDC_AUFLOESUNG, CB_SETHORIZONTALEXTENT, itemHeight*i, 0);
    

    die Höhe der DropDownListe verändern (i = Anzahl der anzuzeigenden Einträge).

    Aber es verändert sich irgendwie nichts (auch wenn ich itemHeight*i durch 100 oder 500 ersetzte tut sich nichts).

    Etwas in die ComboBox einzutragen, die Auswahl zu verändern und dergleichen funktioniert ohne Probleme.

    [ Dieser Beitrag wurde am 08.05.2003 um 01:54 Uhr von Luke1410 editiert. ]


Log in to reply