WinAPI 组合框不显示下拉列表

tom*_*scz 1 winapi combobox listbox

当我按下组合框控件的箭头按钮时,为什么它不显示下拉列表?准确地说,它“尝试”显示某些内容,但看起来屏幕上没有足够的空间,因此只显示一条细线(就像它是“具有零项的列表框”)。当我使用向上和向下箭头时,我可以遍历组合框中的可用选项。这张图片演示了(请注意刚刚出现的组合框下方的黑线,作为对我尝试显示下拉列表的响应),http://nestorovic.hyperlink.cz/comboBoxProblem.PNG。可能是 ComboBox 周围有一个列表框试图容纳的边界矩形吗?这样的矩形如何增加呢?感谢您的回复!

小智 5

我对组合框也有同样的问题。对我来说解决方案很简单。您只需要把按钮的高度调高即可。当我将按钮高度设置为 25 时,只有黑色细线。但是当我将高度设置为 200 时,我的所有列表都会出现在按钮上。

        HWND hwndChannelList = CreateWindow(
        L"COMBOBOX",  // Predefined class; Unicode assumed 
        L"",      // Button text 
        WS_VISIBLE | WS_CHILD | CBS_DROPDOWNLIST | BS_DEFSPLITBUTTON | CBS_DROPDOWN | CBS_HASSTRINGS | WS_VSCROLL,  // Styles WS_VSCROLL | BS_DEFSPLITBUTTON WS_DISABLED | 
        10,         // x position 
        80,         // y position 
        100,        // Button width
        200,        // Button height
        hWnd,     // Parent window
        (HMENU)IDC_CHANNEL_COUT_BUTTON,       //menu.
        (HINSTANCE)GetWindowLong(hWnd, GWL_HINSTANCE),
        NULL);   
Run Code Online (Sandbox Code Playgroud)