首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

SDK ComboBox 滚动条?解决方法

2012-09-06 
SDK ComboBox 滚动条??如下创建 ComboBox :C/C++ codeg_hCB CreateWindowEx(NULL, //WS_EX_CLIENTEDGE,L

SDK ComboBox 滚动条??
如下创建 ComboBox :

C/C++ code
    g_hCB = CreateWindowEx(        NULL, //WS_EX_CLIENTEDGE,        L"COMBOBOX",        L"COMBOBOX",        WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP | CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_AUTOHSCROLL | CBS_DISABLENOSCROLL,        10, 140, 80, 50,        _hWndParent,        NULL, //g_hMenu,        g_hInst,        NULL);


如下添加 ComboBox里的项 :
C/C++ code
        WCHAR buf[128] = {0};        g_i ++;        swprintf(buf, sizeof(buf)/sizeof(WCHAR), L"---> %d", g_i);        int iRtn = SendMessage(g_hCB, CB_ADDSTRING, 0, (LPARAM)&buf[0]);        MoveWindow(g_hCB, 10, 140, 100, 75, true); 


我向 Combobox 连续添加了 8个 选项,即分别是 "---> 1","---> 2","---> 3","---> 4","---> 5","---> 6","---> 7","---> 8",当这些选项不能全部显示时,为何没有滚动条出现??? 
效果如下图所示 ,我的期望是在 红色箭头 所指的地方出现滚动条 。


难道这个滚动条要自己画???不会吧,怎么画??

[解决办法]
WS_VSCROLL
[解决办法]
HWND CreateCB(HWND parentWnd)
{
HWND hComboBox=0;
hComboBox = CreateWindow("COMBOBOX",
NULL,
WS_CHILD|WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST |CBS_SORT,
330, 40, 90, 140, 
parentWnd, (HMENU)IDC_COMBOBOX, 
(HINSTANCE) GetWindowLong(parentWnd, GWL_HINSTANCE), 
NULL);
//
ShowWindow(hComboBox,SW_SHOW);
SendMessage(hComboBox,CB_ADDSTRING ,0,(LPARAM)"你好");
SendMessage(hComboBox,CB_ADDSTRING ,0,(LPARAM)"我好");
SendMessage(hComboBox,CB_ADDSTRING ,0,(LPARAM)"他好");
return hComboBox;
}

热点排行