vc+中自定义消息(50分)

  • 主题发起人 主题发起人 clarkzjg
  • 开始时间 开始时间
C

clarkzjg

Unregistered / Unconfirmed
GUEST, unregistred user!
列位大侠!
我是一们VC++的初学者,想请都一下自定义消息的实现方法,最好有一个比较详细的实例,
越详细越好,因本人是初学者。
 
自定义消息的方法很简单,只要照着VC自已的消息处理就可以了,大致步骤可以如下:
先定义一个消息比如:
#define WM_MYOWNMESSAGE WM_USER + 100
然后在要处理的类中包含这个定义,在这个类中再声明这个消息处理函数
注意:要模仿VC的做法,看看它的处理写在什么地方。
然后在这个类的CPP文件中的
begin
_MESSAGE
....
ON_MESSAGE(WM_MYOWNMESSAGE,OnMyOwnMessage) <<写上这句,注意位置
END_MESSAGE
再写上你的函数的具体实现即可
说的不清楚,其实你在网上搜一下,就有好多这类的教程。
附:我发现DFW论坛上,讨论VC的气氛要差多了。
其实这类问题,你只要任意找一本VC的入门书,看看照做就可解决了。
 
对了,lixx那有好的VC论坛吗?我看CSDN上高手不太多,很多问题讨论也只是停留在表面
 
to clarkzjg;你用的是五笔吧??
在delphi中:
首先,在接口处声明消息常量 const WM_MYMESSAGE=WM_USER
private
procedure appmessage(var msg:tmsg);message WM_MYMESSAGE;
代码部分
procedure tform1.oncreate(sender:tobject);
begin
application.onmessage:=appmessage;
end;
procedure tform1.appmessage(var msg:tmsg);//自定义消息
begin
if msg.msg=WMMYMESSAGE then
showmessage('获得消息');
end;
procedure tform1.button1onclick(sender:=tobject);//发送消息
begin
postmessage(handle,WM_MYMESSAGE,1,0);
end;
end
 
[:D]楼主是问在VC里如何弄!
 
我也不太懂 可是我找了一下,说不定以后会用的着:
在VC++中想加入自定义消息,以下方法可供参考 ……

1 首先定义消息:例如 define WM_MYMESSAGE (WM_USER+100)
2 在.H文件中,加入消息响应函数,如:
        LONG OnMyMessage(WPARAM w,LPARAM l);

    该函数有规定的格式:
        LONG Function_Name(WPARAM w,LPARAM l);

3 加入消息响应宏,在响应该消息的类中,在消息响应块中,
    begin
_MESSAGE_MAP(CAboutDlg, CDialog)
        //{{AFX_MSG_MAP(CAboutDlg)
            // No message handlers
        //}}AFX_MSG_MAP
    END_MESSAGE_MAP()
    加入以下语句:ON_MESSAGE(WM_MYMESSAGE,OnMyMessage)
    成为如下样式:
    begin
_MESSAGE_MAP(CAboutDlg, CDialog)
        //{{AFX_MSG_MAP(CAboutDlg)
        ON_MESSAGE(WM_MYMESSAGE,OnMyMessage)
        //}}AFX_MSG_MAP
    END_MESSAGE_MAP()
4 在.CPP文件中,编辑消息响应函数,如下:
    LONG CMyClass::OnMyMessage(WPARAM w,LPARAM l)
    {
    }
5 大功告成。
 
>张无忌
目前国内也没有特好的论坛,大都停留在灌水的层次上(本人绝无偏见)
CSDN的论坛已经算是好的了,像VCKBASE就比较差劲了,以前VCHELP还不错,现在不知道
怎么搞的,根本就不更新了。
VC就缺乏像DFW这样的论坛,以前星系论坛好像也挺火的,现在好像人气也不行了。
用delphi别的方面不说,就这方面可真好,其它没有能比的。
原因我估计也挺多,主要资料丰富,只要有心看看就可解决了(尤其是微软提供的资料,
基本上可以平时遇到的大多问题了),当然这是个人看法。
真正的好的还是在国外,别人探讨的问题都是很有深度的,国内也有可是少... ...
希望常在DFW上的用VC的朋友常交流交流.
 
如果你不是用SDK来作
那么编辑器本身的消息精灵就很好用了
 
后退
顶部