
2)你在窗口OnInitDialog,通过GetSafeHwnd()判断是否为窗口1句柄
3)你创建托盘的时候,传入的句柄是否为窗口1的句柄,
例如以下的代码,
NOTIFYICONDATA nd//托盘图标
m_hWnd = hWnd
m_hDefaultIcon = hicon
m_dwMessage = dwNotifyMsg
nd.cbSize = sizeof(NOTIFYICONDATA)
nd.hWnd = m_hWnd
nd.uID = (UINT)m_hWnd
nd.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP
nd.uCallbackMessage = dwNotifyMsg
查看所有数据有没传入准确。
”双击托盘“这个描述太含糊。如果是双击托盘区域,MFC程序的窗口不会得到任何消息。
如果是程序建立了托盘图标,那么双击托盘消息是可以响应的。具体方法是,通过Shell_NotifyIcon函数建立图标的时候,指定图标消息响应函数,在这个响应函数中,可以通过参数lParam判断是哪一种鼠标消息,WM_LBUTTONDBLCLK是双击,WM_LBUTTONDOWN是单击。
1.右键选中需要添加响应事件函数的static控件。2.在d出来的菜单栏中选择“添加事件处理程序”;
3.在d出来的向导中,有一个消息类型选择框。STN_CLICKED(单击事件)STN_DBLCLK(双击事件)STN_ENABLE(可用)按照需求,选择响应的消息类型。
4、选择完消息类型后,点击右下角“添加编辑”。即可编辑响应代码。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)