我在学习托盘程序,需要自定义一个消息,我已经在.cpp和.h里的消息影射里填入了相关内容。但是报错说WM_TP未定义,请问应该在哪定义,是不是用define?应该怎么写?我的程序的头文件里加了一句#define WM_TP 1000,虽然能运行,但是消息没有响应
解决方案 »
- D3D网格问题
- 关于指纹识别的问题
- error C2143: 语法错误 : 缺少“;”(在“namespace”的前面)
- 请问如何让单文档视图程序在启动时不显示工具栏和状态栏?
- 从CDialog继承下来的类,昨天它的成员函数Create的参数个数只需一个,今天变成了和CWnd继承下来的一样,需要好多。以前还好好的。
- 如何得到其它应用程序里一个 ListCtrl 里的数据?
- 奇怪的问题??----我什么也没有做啊!!
- MyCSDN - CSDN论坛库0.4b。可下载2000.1月-现在的所有贴子,详情请进`~~
- 如何找到打开某文件的关联程序?
- 侠之大者,为国为民。有谁能够总结一下 vc中的数据类型,尤其是关于双字节部分。恩泽天下,谢大侠了。
- 现在学习SDK,不使用 MFC 有出路吗 !?
- 请教高手关于读文件的问题
MESSAGE_HANDLER(WM_MYMSG/*你自己定义的*/, OnMyMsg/*你的消息处理含数*/)
END_MSG_MAP().cpp文件
OnMyMsg()
{
....
}
最后就是怎么触发你的消息了
nid.cbSize=(DWORD)sizeof(NOTIFYICONDATA);
nid.hWnd=m_hWnd;
nid.uID=IDR_MAINFRAME;
nid.uFlags=NIF_ICON|NIF_MESSAGE|NIF_TIP ;
nid.uCallbackMessage=WM_TP;//自定义的消息名称
nid.hIcon=LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME));
strcpy(nid.szTip,"文本工具");//信息提示条 Shell_NotifyIcon(NIM_ADD,&nid);//在托盘区添加图标BEGIN_MESSAGE_MAP(CTextToolsDlg, CDialog)
//{{AFX_MSG_MAP(CTextToolsDlg)
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_MESSAGE(WM_TP,onTp)
ON_WM_TIMER()
//}}AFX_MSG_MAP
END_MESSAGE_MAP() virtual BOOL OnInitDialog();
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
afx_msg LRESULT onTp(WPARAM wParam,LPARAM lParam);
afx_msg void OnTimer(UINT nIDEvent);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
我一般从(WM_USER + 100)开始