如何为动态创建的窗体中的动态创建的控件进行消息映射?在线等待,马上给分!

解决方案 »

  1.   

    你另创建一个工程,在对话框中把控件加让,然后需要的消息,也用classwizard添上,再拷贝到你动态创建的工程中,就可以了
      

  2.   

    消息映射可以通过控件的ID一一对应。#define IDC_BUTTON 102CButton Button;
    Button.Create( , , ... IDC_BUTTON);ON_BN_CLICKED(IDC_BUTTON,OnClick);写OnClick()函数即可
      

  3.   


    在消息映射中添加
    BEGIN_MESSAGE_MAP
       .....    
       ON_CONTROL_RANGE(........)
    END_MESSAGE_MAP()
    并指定处理函数,具体用法看msdn
      

  4.   

    有个简单的方法,
    1、资源里面建立一个新的对话框,如IDD_DIALOG1,将你要的控件加到该对话框中,假设id为ID_OCX1,在对话框中点鼠标右键,选择class wizard,你选择使用一个存在的类,你将类选择到你要的view,有如下提示“The Class (CMyviewView) you have chosen is not listed as a Dialog class.  Do you want ClassWizard to link this class to the Dialog resource (IDD_DIALOG1) anyway?”,你确定
    再在该对话框中选中ID_OCX1,选择class wizard就可以直接映射消息了。注意一个问题:你将来在view中手工建立的时候也用同样的Id,如ID_OCX1,否则你就要手工修改消息映射等地方。
      

  5.   

    谢谢各位指点!
    我们讨论了动态窗体中的动态控件,大家有很多小技巧。如果我用自己的类动态创建了一个个性工具条,然后在里面动态创建一个dataGrid,如何进行消息映射呢?再加50分,希望大家讨论讨论!