1、设置控件 ID,资源头文件中,添加一行 ---> #define IDC_控件名 (int)控件ID号; 随便你给定ID号,只要和其他的不重复就好了。
2、HWND h控件句柄 = CreateWindow(控件类名, 控件描述, 控件风格, 左上角坐标X, 左上角坐标Y, 宽, 高, 控件的父句柄, (HMENU)菜单句柄, 应用程序句柄, (lParam)附加信息);
把 (HMENU)菜单句柄 设定为 (HMENU)控件ID号,就好了,现在 IDC_控件名 是父窗口(句柄) 下面的 一个有名字,有ID标识 的子控件了。
3、添加代码:
看看 子控件的 消息是怎么被传递的;子控件的ID标识包含在 wParam的低位 LOWORD(wParam) , 该子控件的具体消息内容包含在高位 HIWORD(wParam)
如,以ComboBox控件的视角,当其列表被选择,父窗口将发起一个 sendmessage(父窗口句柄, UINT WM_COMMAND, WPARAM wParam(低位时控件ID,高位是CBN_SELCHANGE), LPARAM lParam)
父窗口的消息处理函数((父窗口句柄, UINT WM_COMMAND, WPARAM wParam(低位时控件ID,高位是CBN_SELCHANGE), LPARAM lParam )
{
wmId_LOW = = LOWORD(wParam);
switch (message) {
case WM_COMMAND:
switch (wmId_LOW) {
case IDC_控件名:
switch (wmId_HI) {
case CBN_SELCHANGE:
break;
}
}
}
}
标签:wParam,控件,窗口,lParam,CreadWindow,句柄,ID From: https://www.cnblogs.com/oujian/p/18591496