请问 自己的类 怎么写 消息影射啊 的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 以下是借用别人说明:创建自定义消息程序步骤:1:用ClassWard创建一个新project命名为:MessageTest2:此project选单文档,取消Active X支持,取消打印支持,其它默认。finish.3:在菜单中添加一个菜单“测试”其子菜单为"test",并映射其执行方法:OnTest4: 制造消息发送者:在资源中新增一个对话框,并用classward为其创建类名为 TestDialog.然后在此对话框中加入一个Button,并用classward为其映射执行函数 OnButton1()。5:在TestDialog.h文件中加入一行#define WM_MY_MESSAGE (WM_USER+100) 用来定义自己的消息6:在TestDialog.cpp文件中加入一行:#include "MainFrm.h"7:为对话框的Button按钮加入发送消息代码如下:void TestDialog::OnButton1() { // TODO: Add your control notification handler code here //获取当前框架指针 CMainFrame *pMainFrame=(CMainFrame *)AfxGetApp()->m_pMainWnd; //获取当前view指针 CView *pView=pMainFrame->GetActiveView(); if(pView!=NULL) { pView->PostMessage(WM_MY_MESSAGE,0,0); }} 以上是对于消息的发送者工作己完成8:以下是对于消息接收者在MessageTestView.h中也要定义:#define WM_MY_MESSAGE (WM_USER+100)9:并在MessageTestView.h中定义消息映射函数如下:protected: //{{AFX_MSG(CMessageTestView) afx_msg void OnTest(); afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam); //此处为自定义消息映射函数 //}}AFX_MSG DECLARE_MESSAGE_MAP()10:在MessageTestView.cpp文件中,声明消息响应函数如下:BEGIN_MESSAGE_MAP(CMessageTestView, CView) //{{AFX_MSG_MAP(CMessageTestView) ON_MESSAGE(WM_MY_MESSAGE,OnMyMessage) //自定义消息响应函数 ON_COMMAND(ID_TEST, OnTest) //}}AFX_MSG_MAPEND_MESSAGE_MAP()11:在MessageTestView.cpp文件中实现消息响应函数如下:LRESULT CMessageTestView::OnMyMessage(WPARAM wParam,LPARAM lParam){ MessageBox("OnMyMessage!Receiver"); return 0;}12:将消息发送者与消息响应者联系起来。即:将对话框与菜单联系起来。实现CMessageTestView的OnTest方法如下:void CMessageTestView::OnTest() { // TODO: Add your command handler code here TestDialog dlg; dlg.DoModal(); }13:以上完成了所有自定义消息过程 关于条形码打印问题 关于使用创建线程运行调试问题,急,急,急 串口通信:在VC下如何控制一个开关 mouse_event模拟失败 找不到 *.pch 的问题以及编译时没有响应的问题 新手弱问:现在有学vc的必要吗?若有,能学到些什么? 怎么擦除透明显示的文字?谢谢! 如何改变按钮(CButton)字体的大小 如何选中ListBox中的内容? 关于MPEG格式的一个问题 为什么会报错? 再问MDI下打开文件问题
1:用ClassWard创建一个新project命名为:MessageTest
2:此project选单文档,取消Active X支持,取消打印支持,其它默认。finish.
3:在菜单中添加一个菜单“测试”其子菜单为"test",并映射其执行方法:OnTest
4: 制造消息发送者:在资源中新增一个对话框,并用classward为其创建类名为
TestDialog.然后在此对话框中加入一个Button,并用classward为其映射执行函数
OnButton1()。
5:在TestDialog.h文件中加入一行#define WM_MY_MESSAGE (WM_USER+100)
用来定义自己的消息
6:在TestDialog.cpp文件中加入一行:#include "MainFrm.h"
7:为对话框的Button按钮加入发送消息代码如下:
void TestDialog::OnButton1()
{
// TODO: Add your control notification handler code here
//获取当前框架指针
CMainFrame *pMainFrame=(CMainFrame *)AfxGetApp()->m_pMainWnd;
//获取当前view指针
CView *pView=pMainFrame->GetActiveView();
if(pView!=NULL)
{
pView->PostMessage(WM_MY_MESSAGE,0,0);
}
}
以上是对于消息的发送者工作己完成
8:以下是对于消息接收者
在MessageTestView.h中也要定义:#define WM_MY_MESSAGE (WM_USER+100)
9:并在MessageTestView.h中定义消息映射函数如下:
protected:
//{{AFX_MSG(CMessageTestView)
afx_msg void OnTest();
afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam); //此处为自定义消息映射函数
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
10:在MessageTestView.cpp文件中,声明消息响应函数如下:
BEGIN_MESSAGE_MAP(CMessageTestView, CView)
//{{AFX_MSG_MAP(CMessageTestView)
ON_MESSAGE(WM_MY_MESSAGE,OnMyMessage) //自定义消息响应函数
ON_COMMAND(ID_TEST, OnTest)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
11:在MessageTestView.cpp文件中实现消息响应函数如下:
LRESULT CMessageTestView::OnMyMessage(WPARAM wParam,LPARAM lParam)
{
MessageBox("OnMyMessage!Receiver");
return 0;
}
12:将消息发送者与消息响应者联系起来。即:将对话框与菜单联系起来。
实现CMessageTestView的OnTest方法如下:
void CMessageTestView::OnTest()
{
// TODO: Add your command handler code here
TestDialog dlg;
dlg.DoModal();
}
13:以上完成了所有自定义消息过程