MFC高手可轻松拿分!!!

Sunrain 2000-06-27 04:43:00
各位大虾,小弟以前用SDK编程,现初学MFC,看例子程序时有个问题不太清楚,望赐教。

一个由CLISTVIEW 派生的类 (CLISTMYVIEW.CPP)
BeginMessgeMap
{
... 消息映射
}

MainFram 类(mainfram.cpp)
BeginMessgeMap
{
... 消息映射
}
我在MainFram中能发送自定义的消息到CLISTMYVIEW吗?
怎么做?
...全文
278 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Gold_Eg 2000-06-28
  • 打赏
  • 举报
回复
有本书WINMFC讲消息机制很不错,台湾侯俊杰老师写的,网上有超星的电子版,建议你看一看
肯定得益非浅。
fenghero 2000-06-28
  • 打赏
  • 举报
回复
非常简单。
1。在View和MainFrame类的.h文件中,加入自定义消息名称,如:#define WM_MY_MSG WM_USER+100.
2.在你想发送消息时,写以下代码:
CMyView * pView = (CMyView *)GetActiveView();
pView->Send(/Post)Message(WM_MY_MSG);
3.在View的.h文件中:
加入:afx_msg LRESULT OnMyMsg(WPARAM wParam,LPARAM lParam);
4.在view的.cpp文件中:
消息映射中:ON_MESSAGE(WM_MY_MSG,OnMyMsg)
并添加以下函数:
LRESULT OnMyMsg(WPARAM wParam,LPARAM lParam)
{
//......your handler code
}
编译一下,看可否?若不行,欢迎写信给我.我的Email是:fenghero@sina.com



Kaile 2000-06-28
  • 打赏
  • 举报
回复
你先做一个系统消息(用向导自动生成)再仿照它做一个自定义消息,不就行了吗?
xingxing 2000-06-27
  • 打赏
  • 举报
回复
你可以用POSTMESSAGE函数。
dzl 2000-06-27
  • 打赏
  • 举报
回复
如果是单文档就好办:

在CMainFrame类中需要发送消息的地方加入
GetActiveView()->SendMessage(WM_USER+1); //当然也可以是其他消息

在CYourView的实现文件中加入

#define WM_MYMESSAGE (WM_USER + 1) //自定义消息
... ...

BEGIN_MESSAGE_MAP( ...... )
//{{AFX_MSG_MAP( CMyWnd
ON_MESSAGE( WM_MYMESSAGE, OnMyMessage ) //映射消息
// ... Possibly more entries to handle additional messages
//}}AFX_MSG_MAP
END_MESSAGE_MAP( )

再加入你的消息响应函数
OnMyMessage()

如果是多文档应用程序,就必须在CMainFarme类中获取相应视类的指针,你可以看看关于文档/视类的有关资料,其他的步骤相同。
WHQ 2000-06-27
  • 打赏
  • 举报
回复
可以呀,在CLISTMYVIEW添加消息映射就可以了
在类中:
LRESULT YourMsgHandler(WPARAM, LPARAM);
消息映射中:
ON_MESSAGE(WM_YOURMSG, YourMsgHandler)

16,467

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧