+ -
当前位置:首页 → 问答吧 → 关于清单方块(listbox)类别的 WM_COMMAND消息

关于清单方块(listbox)类别的 WM_COMMAND消息

时间:2011-12-23

来源:互联网

今天发现一个奇怪的问题,创建了两个listbox类控件,点击其中一个会产生两个WM_COMMAND消息。

只创建一个listbox类控件时,第一次点击也会产生两个WM_COMMAND消息。如果加入SetFocus的话就正常(一个listbox类控件)

代码如下,无关代码都去掉了:
C/C++ code
case WM_CREATE:
                              hInstance=(HINSTANCE)GetWindowLong(hwnd,GWL_HINSTANCE);
                               cxChar=LOWORD(GetDialogBaseUnits());
                               cyChar=HIWORD(GetDialogBaseUnits());
                               
                        hwndYear=CreateWindow(TEXT("listbox"),NULL,
                               WS_CHILD|WS_VISIBLE|LBS_STANDARD,
                               cxChar,cyChar*3,
                               cxChar*8,
                               cyChar*2,
                               hwnd,(HMENU)ID_YEAR,
                               hInstance,
                               NULL);
                               
                               hwndMonth=CreateWindow(TEXT("listbox"),NULL,
                               WS_CHILD|WS_VISIBLE|LBS_STANDARD|LBS_SORT,
                               cxChar,cyChar*10,
                               cxChar*8+GetSystemMetrics(SM_CXVSCROLL),
                               cyChar*2,
                               hwnd,(HMENU)ID_MONTH,
                               hInstance,
                               NULL);
                               
                               return 0;

        case  WM_COMMAND:
                              
                                                          ++count;
                                                            return 0;


实在想不出什么原因,望高手指点一二

作者: selooloo   发布时间: 2011-12-23

没玩过控件,随便说二句。
1. 鼠标down一个消息,再up又一个消息?
2. 控件放在什么上边?点击控件会不会触发控件底下的对象使其响应?

作者: CloudmmFly   发布时间: 2011-12-23