为什么没有消息的时候就已经调用了OnCmdMsg解决方法
为什么没有消息的时候就已经调用了OnCmdMsg
我自定义了一个CSalesList控件类(继承自CListCtrl),里面重载了OnCmdMsg(),本意是当控件上有消息产生时,然后判断是那种消息,然后处理相应的函数,代码如下:
我在这个函数里面设置断点,调式时一开始就进入了这个函数。
不是有消息产生时才会调用这个函数么,程序一运行就调用这个函数怎么回事?
------解决方案--------------------
Windows消息机制
MSG msg;
while (GetMessage(&msg, 0, 0, 0))
.....
不管你有没有消息他都这样做的
不然怎么知道有消息进来?
我自定义了一个CSalesList控件类(继承自CListCtrl),里面重载了OnCmdMsg(),本意是当控件上有消息产生时,然后判断是那种消息,然后处理相应的函数,代码如下:
- C/C++ code
BOOL CSalesList::OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo) { // TODO: 在此添加专用代码和/或调用基类 int index=CommandToIndex(nID); if (index!=-1) { OnButtonDown(index,nID); } m_ClientList.OnCmdMsg(nID,nCode,pExtra,pHandlerInfo); return CListCtrl::OnCmdMsg(nID, nCode, pExtra, pHandlerInfo); }
我在这个函数里面设置断点,调式时一开始就进入了这个函数。
不是有消息产生时才会调用这个函数么,程序一运行就调用这个函数怎么回事?
------解决方案--------------------
Windows消息机制
MSG msg;
while (GetMessage(&msg, 0, 0, 0))
.....
不管你有没有消息他都这样做的
不然怎么知道有消息进来?