MFC自定义消息
用户可以为了特定的目的而定义自己的消息,这些消息也称为自定义消息。进行自定义消息的方法很简单,一般有两种:一种是利用ON_MESSAGE宏,另外一种就是创建自己的消息映射宏,这一种方法可以定制消息的参数类型,而不像前者只能使用固定的消息参数类型。但是一般情况下不需要定制消息的参数类型,因此这里对此不予介绍。本节主要介绍第一种比较常用的方法。
预定义常量值WM_USER(0x0400)是系统专门用来为实现处理用户自定义的消息而提供的接口,需要自定义消息时,只需要以如下形式定义即可:
WM_USER+X
其中X是一个非负整数值。另外,需要注意的是,用户自定义消息的值范围是有规定的,如6.1.3小节所述,其值介于WM_USER和0x7FFF之间,所以,为X取值时应该注意这个问题。下面结合具体的实例来详细介绍自定义消息的实现方法。
MFC自定义消息四部曲
1、定义消息变量
2、添加消息映射
3、添加消息处理函数
4、实现消息处理函数
1,3在类的头文件中设置
2,在DoDataExchange函数下进行声明
以Socket的Accept例:
1、定义消息变量
#define     WM_USER_ACCEPT     WM_USER+101
2、添加消息映射
BEGIN_MESSAGE_MAP(CSocketView, CDialog)
     //{{AFX_MSG_MAP(CSocketView)
     ON_MESSAGE(WM_USER_ACCEPT,OnAccept)
     //}}AFX_MSG_MAP
END_MESSAGE_MAP()
3、添加消息处理函数
VC6.0
//{{AFX_MSG(CSocketView)
     afx_msg void OnAccept(WPARAM wParam, LPARAM 
VS2005
//{{AFX_MSG(CSocketView)
     afx_msg LRESULT OnAccept(WPARAM wParam, LPARAM 
lParam);
     //}}AFX_MSG
4、实现消息处理函数
VC6.0
void CSocketView::OnAccept(WPARAM wParam, LPARAM lParam)
{
//函数体
}
VS2005
LRESULT CSocketView::OnAccept(WPARAM wParam, LPARAM lParam)
{
//函数体
}
 
                   
                   
                   
                   
                             本文介绍了MFC中自定义消息的基本概念及其实现步骤,包括定义消息变量、添加消息映射、添加处理函数等内容,并通过Socket接受消息的例子详细展示了整个过程。
本文介绍了MFC中自定义消息的基本概念及其实现步骤,包括定义消息变量、添加消息映射、添加处理函数等内容,并通过Socket接受消息的例子详细展示了整个过程。
           
       
           
                 
                 
                 
                 
                 
                
               
                 
                 
                 
                 
                
               
                 
                 扫一扫
扫一扫
                     
              
             
                   560
					560
					
 被折叠的  条评论
		 为什么被折叠?
被折叠的  条评论
		 为什么被折叠?
		 
		  到【灌水乐园】发言
到【灌水乐园】发言                                
		 
		 
    
   
    
   
             
            


 
            