精华内容
下载资源
问答
  • 1. 添加消息映射 2. 头文件中添加函数声明 3. 实现文件中添加函数定义 转载于:https://www.cnblogs.com/liubaocheng999/p/3570838.html

    1. 添加消息映射

    2. 头文件中添加函数声明

    3. 实现文件中添加函数定义

    转载于:https://www.cnblogs.com/liubaocheng999/p/3570838.html

    展开全文
  • 本文实例讲述了VC自定义消息响应函数postmessage的用法。分享给大家供大家参考。具体实现步骤如下: 1. 在 resource.h文件添加如下代码 定一个自己的消息 代码如下:#define WM_MY_MESSAGE WM_USER + 100 //——...
  • VC添加消息响应函数

    千次阅读 2014-03-15 16:42:55
    下面我们举一个实际的例子来说明该段过程.例如在对话框中设置一个按钮,每隔3秒钟会自动的弹出Message对话框: (1)首先在头文件或CPP文件中定义一个消息 ... (2)然后在消息映射宏里面添加函数声明:   ?

    我们举一个实际的例子来说明该段过程.例如在对话框中设置一个按钮,每隔3秒钟会自动的弹出Message对话框:

    (1)首先在头文件或CPP文件中定义一个消息


    #define CLICK_MESSAGE_BOX  WM_USER+100

     (2)然后在消息映射宏里面添加函数声明:

     


    //{{AFX_MSG(CMy41Dlg)
    virtualBOOL OnInitDialog();
    afx_msg voidOnSysCommand(UINT nID, LPARAM lParam);
    afx_msg voidOnPaint();
    afx_msg HCURSOR OnQueryDragIcon();
    afx_msg voidOnButton1();
    afx_msg voidOnTimer(UINT nIDEvent);
    //}}AFX_MSG
    DECLARE_MESSAGE_MAP()
    afx_msg void OnResponse(intnum);//添加到此处


     我们一般将自定义的消息卸载AFX_MSG的外面

    (3)在CPP文件里面将消息和消息响应函数链接:


    BEGIN_MESSAGE_MAP(CMy41Dlg, CDialog)
        //{{AFX_MSG_MAP(CMy41Dlg)
        ON_WM_SYSCOMMAND()
        ON_WM_PAINT()
        ON_WM_QUERYDRAGICON()
        ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
        ON_WM_TIMER()
        ON_MESSAGE (CLICK_MESSAGE_BOX,OnResponse)// 这里
        //}}AFX_MSG_MAP
      
          
    END_MESSAGE_MAP()


     (4)定义响应函数

    void CMy41Dlg::OnResponse(int num)
    {
        CString str;
        str.Format("%d",num);
        MessageBox(str+"自定义的消息响应函数");
    }


     (5)发送消息:


    PostMessage(CLICK_MESSAGE_BOX,1);

     需要注意的是,PostMessage函数后面带有参数,可以向响应函数里面传参,例如上面的例子中,我们在(5)的消息函数中有一个int num,其实就是postMessage函数传过来的参数1。 

    参考 http://www.cnblogs.com/CBDoctor/archive/2012/05/16/2504073.html


    展开全文
  • 1.在头文件中声明消息响应函数afx_msg void OnButton(UINT id)2.添加宏映射ON_COMMAND_RANGE(IDC_BUTTON1,IDC_BUTTON10,OnButton)3.编写消息响应函数 CTest::OnButton(UINT id){switch(id){case IDC_BUTTON1:你的...

    1.在头文件中声明消息响应函数

    afx_msg void OnButton(UINT id)

    2.添加宏映射

    ON_COMMAND_RANGE(IDC_BUTTON1,IDC_BUTTON10,OnButton)

    3.编写消息响应函数 

    CTest::OnButton(UINT id)

    {

    switch(id)

    {

    case IDC_BUTTON1:你的代码;break;

    ...

    }

    }

    展开全文
  • 在学习到为单文档框架的CView子类添加消息响应函数时犯难了,因为好久没用过VS2008了,之前在学校用的VC6.0和工作中Linux下C语言比较多。于是上网搜了一下,找到CSDN博主kivcare这篇博客:Vc2008中如何为视图类添加...

          最近重温《MFC Windows应用程序设计》第二版这本书,里面的代码全部是使用VC6.0写的,我Win7下安装的是VS2008开发环境。

           VC2008下添加和删除常见的消息响应函数有两种方法自动手动

         一、VC2008中自动添加消息响应函数

          举一个《MFC Windows应用程序设计》的MFC单文档应用程序的例子,如下:

           例4-9  设计一个利用CClientDC绘图,在窗口单击鼠标左键之后,在窗口的用户区出现一个菱形的应用程序。

            (1)  在MFC AppWizard中创建一个名称为MFCexp4_9的单文档应用程序。

           (2)  在视图类的OnLButtonDown()函数中输入如下代码。

    void CMFCexp4_9View::OnLButtonDown(UINT nFlags, CPoint point)
    {
    	// TODO: Add your message handler code here and/or call default
    	CClientDC dc(this);		//定义一个CClientDC的对象dc
    	CRect rect;				//定义一个描述矩形的对象rect
    	GetClientRect(&rect);	//获得窗口用户区的尺寸,并存入到rect
    
    	//以下是绘制菱形的代码
    	dc.MoveTo(0,(rect.bottom+rect.top)/2);
    	dc.LineTo((rect.left+rect.right)/2,0);
    	dc.LineTo(rect.right,(rect.bottom+rect.top)/2);
    	dc.LineTo((rect.right+rect.left)/2,rect.bottom);
    	dc.LineTo(0,(rect.bottom+rect.top)/2);
    
    	CView::OnLButtonDown(nFlags, point);
    }

                   其实在VS2008中添加消息响应函数的办法蛮简单的,方法如下:

                 假如创建了一个名为Example的MFC单文档应用程序,则在VS2008中右键单击类视图中的CExampleView类,选中【Properties】,在属性页中选择【Messages】项,其中有WM_LBUTTONDOWN的鼠标左键按下的消息,点击消息后面的Add或者Delete即可一键添加或者删除消息响应函数以及对应的消息映射宏了。如下图所示:

                

                 新浪博主百里无二转载的一篇博文很简洁:

                VC2008 中添加MFC消息处理函数具体步骤如下:

    ·    1.在类视图中,右键需要添加处理函数的类,选择属性。

    ·    2.在“属性窗口中,单击消息按钮。

    ·    3.在消息列表框中,选择需要添加的消息。

    ·    4.这样就可以在代码框中看到,OnCreate已经添加了。

    想要删除的话再到消息框中选删除就可以了。

                

              二、VC2008中手动添加或删除消息响应函数

                可以参照CSDN博主kivcare这篇博客:Vc2008中如何为视图类添加消息响应,他的方法是手动添加消息响应函数,删除的话就是逆过程了。手动删除消息响应函数需要删掉三个地方,以删除菜单响应函数为例时包括以下三个部分:
                1、头文件中的定义,如afx_msg void OnDialogModel();

                2、源文件中的消息响应,如:ON_COMMAND(ID_DIALOG_MODEL, &CMyboleView::OnDialogModel)
                3、源文件中具体的函数体,例如void CMyboleView::OnDialogModel()函数的定义实现部分:

               看来以后得多使用一下VS2008这套工具,可以通过学习MFC和Win32应用程序多加练习。

    
    
    展开全文
  • 但不知道是我误操作还是其他什么原因,无法为界面上得按钮添加消息响应函数。 打开类向导可以看到:原来在对话框类(C…Dlg类)中的控件ID均不见了,但是在App类(C…App类)中可以看见,通过类向导也无法为控件...
  • // OnInitDialog函数中 //向列表中添加图标 m_imagelist.Create(32,32,ILC_COLOR24|ILC_MASK,1,1); m_imagelist.Add(AfxGetApp()->LoadIcon(IDI_ICON12)); m_imagelist.Add(AfxGetApp()->LoadIcon(IDI_ICON13));...
  • VC添加WM_USER的消息响应函数

    千次阅读 2012-02-06 13:48:22
    VC中独特的注释宏可以让代码变灰,它的格式如下 //{{AFX //注意:这里只要是以AFX开头的字符串都可以,比如:AFXDWADWXXADW. ...中间的代码是灰色的 //}}AFX 注释宏的开始标记其中//和{{之间不能有空格 AFX必须...
  • 用户需要为 使用前须知 按钮添加消息响应函数 在函数实现引导使用者功能 添加响应函数的方法是在vc主界面 使用键盘 Ctrl+W组合键 弹出 MFC ClassWizaed对话框 用户需要在MFC ClassWizard对话框中 首先在ID列表...
  • 在对话框的头文件中申明消息响应函数://窗口类h头文件中 //工具栏上的按钮的ID是连续的,如果不连续,一个按钮一个响应,或者修改为连续的,视情况而定 afx_msg void OnBnClickedToolBar(); //消息映射...
  • VC 自定义消息 postmessage用法 1. 在 resource.h文件添加如下代码 定一个自己的消息 #define WM_MY_MESSAGE WM_USER + 100 //---------------------by tyds 2.在...view.h的文件添加如下: //{{AFX_MSG...
  • VC 自定义消息 postmessage用法1. 在 resource.h文件添加如下代码 定一个自己的消息#define WM_MY_MESSAGE WM_USER + 100 //---------------------by tyds2.在...view.h的文件添加如下://{{AFX_MSG...
  • 问题描述:在使用VS2008为对话框中控件添加消息响应时总是弹出” add/remove operation is impossible because the code element *** is read only” 解决方法:由于刚装VS2008时,每次打开工程,这时vc的左下角正...
  • 自定义消息响应函数

    2010-01-12 19:24:00
    1.建立响应函数的原型:在VS2005中,对于响应函数有了个比较严格的规定,导致以前VC6里面有很多不能直接使用,原型如下:afx_msg LRESULT (CWnd::)MyFnx(WPARAM wParam,LPARAM lParam) 对于返回类型与参数都不能少。...
  • 一般情况下, 添加常用的消息的消息处理函数的过程为: 点击要添加消息处理函数的类名->在属性界面内选择对应的消息->添加消息处理函数即可.但是, 属性列表里自带的消息处理函数有限. 那么如何添加别的消息的消息处理...
  • Vc2008中如何为视图类添加消息响应

    千次阅读 2012-03-23 16:11:09
    Vc6.0直接可以在CView类添加消息响应; 右键点CView类添加事件。 我在Vc2008中没找到这种功能。 以添加OnLButtonDown()消息为例,添加过程如下 1.右键点击CView选Add Function。  设置函数原型为Void ...
  • 这段时间看vc++深入详解.看到添加自定义消息那一节,按照书上的方法就是编译不通过.vc6.0和vs2008中添加消息的方法不同....2.类头文件中声明消息响应函数(OnProgress) vc6.0声明如下 afx_msg voi
  • VC6.0中默认是没有WM_MOUSELEAVE消息的,当然在高版本里面是有。在网上找了实现的方法,...一、在头文件中添加消息响应函数 afx_msg void OnMouseLeave();  二、在CPP文件的消息映射中添加消息 BEGIN_MESSAGE_M
  • 但是并没有为其添加消息响应函数。 首先添加连接按钮的消息响应函数, 在VC主界面中 按下Ctrl+W快捷键 弹出MFC向导对话框 用户在Message Maps选项卡中找到连接按钮的ID, 然后为其添加鼠标单击消息响应函数On...
  • 这个函数必须要自己写的,因为VC中没有提供自动添加这种函数的命令,MSDN中的解释: ClassWizard supports creating ON_COMMAND and ON_UPDATE_COMMAND_UI handlers, but it does not support creating ON_...
  • MFC在VC6.0中通过向导添加的消息响应系统会自动添加代码①. 自动添加的代码(3处,以在CDraw中加OnLButtonDown为例)...afx_msg注释宏,表明这个函数是消息响应函数; b) CDrawView源文件中: BEGIN_MESSAGE_M
  • VC添加自定义消息

    2013-01-07 10:29:00
    在VC++中想加入自定义消息,以下方法可供参考 ...#define WM_MYMESSAGE (WM_USER+100) #define WM_MYMESSAGE (WM_USER+100) 2、在.h头文件中,加入消息响应函数: [cpp] view plaincopyprint?LONG OnMyMessa...
  • 当有多个菜单项,且菜单点击事件的执行代码都很短时,我就用一个函数响应所有点击消息,不用为菜单逐个添加消息映射,代码显得简短而整洁。  当然,你可以用ON_COMMAND_RANGE方式,但这种方式的用起来很不便,...
  • vc添加自定义消息

    2008-04-05 17:49:00
    下面介绍一种添加自定义消息的方法1 定义一个消息 #define WM_YOURMSG 100012 添加一个消息响应函数,比如你的对话框类为 CYourDlg,则在类中定义一个public函数,定义形式如下: afx_msg LRESULT OnYourMsg(WPARAM...
  • 这个主要是针对刚入门MFC的新手,MFC中有许多消息响应函数,有部分消息响应函数添加的地方不太相同。比如说我们添加的一张表,ID为:IDC_TAB_MAIN,要添加OnSelchange()响应函数,按Ctrl+W打开类向导,在Class name ...

空空如也

空空如也

1 2 3 4 5 ... 15
收藏数 284
精华内容 113
关键字:

vc添加消息响应函数