windowSDK创建的组合框,怎么向组合框添加项??
时间:2011-12-04
来源:互联网
代码如下:首先主函数调用 CreateComboBox() 函数,创建组合框,并向它的窗口过程发送
SendMessage(m_hwndCom, CB_INSERTSTRING,0,(LPARAM)"ddd"); 就是添加一项,
ComboxWndProc 是组合框的窗口过程,
另一种方法是调用 ComboBox_SetCueBannerText(m_hwndCom, "ddd"); 但是没一点办法,
牛牛们看看~~~
C/C++ code
void TControl::CreateComboBox() { m_hwndCom = CreateWindowEx(WS_EX_NOACTIVATE ,// 附加样式 WC_COMBOBOX, NULL, // 窗口类 // 窗口的标题 CBS_AUTOHSCROLL|CBS_DROPDOWNLIST|WS_BORDER|WS_CHILDWINDOW, // 窗口样式 :可见,子窗口, 10, 10, 100, 20, TtheApp.hwndMain, // 父窗口句柄 (HMENU)NULL, TtheApp.hInstanceMain, NULL); // 没有菜单 // 应用程序实例 // 没有图标 ComboBox_SetCueBannerText(m_hwndCom, "ddd"); ShowWindow(m_hwndCom, SW_SHOWNORMAL); //显示 [color=#FF0000]SendMessage(m_hwndCom, CB_INSERTSTRING,0,(LPARAM)"ddd");[/color]} LRESULT CALLBACK TControl::ComboxWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { if( message == CB_INSERTSTRING ) // Add ??? return CallWindowProc(TtheApp.theCon->ComOrigWndproc, hWnd, message, wParam, lParam); }
作者: gucheng789 发布时间: 2011-12-04
//不必子类化。
HWND CreateCB(HWND parentWnd)
{
HWND hComboBox=0;
hComboBox = CreateWindow("COMBOBOX",
NULL,
WS_CHILD|WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST |CBS_SORT,
330, 20, 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;
}
HWND CreateCB(HWND parentWnd)
{
HWND hComboBox=0;
hComboBox = CreateWindow("COMBOBOX",
NULL,
WS_CHILD|WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST |CBS_SORT,
330, 20, 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;
}
作者: schlafenhamster 发布时间: 2011-12-04
3K,这个可以实现,
用 CreateWindowEx 这么实现啊,在扩展样式里我都传入 0 了,还是不显示,用CreateWindow又以!
作者: gucheng789 发布时间: 2011-12-04
ComBoxEx这样产生:
#define WS_EX_NOACTIVATE 0x08000000L
//
HWND WINAPI CreateComboEx(HWND parentWnd)
{
HWND hComboBoxEx;
INITCOMMONCONTROLSEX icex;
icex.dwSize = sizeof(INITCOMMONCONTROLSEX);
icex.dwICC = ICC_USEREX_CLASSES;
InitCommonControlsEx(&icex);
hComboBoxEx = CreateWindowEx(WS_EX_NOACTIVATE, WC_COMBOBOXEX, NULL,
WS_BORDER | WS_VISIBLE |
WS_CHILD | CBS_DROPDOWN,
330, // Vertical position of Combobox
20, // Horizontal position of Combobox
90, // Sets the width of Combobox
140, // Sets the height of Combobox
parentWnd, (HMENU)IDC_COMBOBOX,
(HINSTANCE) GetWindowLong(parentWnd, GWL_HINSTANCE),
NULL);
// use CBEM_INSERTITEM头insert
return hComboBoxEx;
}
#define WS_EX_NOACTIVATE 0x08000000L
//
HWND WINAPI CreateComboEx(HWND parentWnd)
{
HWND hComboBoxEx;
INITCOMMONCONTROLSEX icex;
icex.dwSize = sizeof(INITCOMMONCONTROLSEX);
icex.dwICC = ICC_USEREX_CLASSES;
InitCommonControlsEx(&icex);
hComboBoxEx = CreateWindowEx(WS_EX_NOACTIVATE, WC_COMBOBOXEX, NULL,
WS_BORDER | WS_VISIBLE |
WS_CHILD | CBS_DROPDOWN,
330, // Vertical position of Combobox
20, // Horizontal position of Combobox
90, // Sets the width of Combobox
140, // Sets the height of Combobox
parentWnd, (HMENU)IDC_COMBOBOX,
(HINSTANCE) GetWindowLong(parentWnd, GWL_HINSTANCE),
NULL);
// use CBEM_INSERTITEM头insert
return hComboBoxEx;
}
作者: schlafenhamster 发布时间: 2011-12-04
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28