有个简单的方法, 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,否则你就要手工修改消息映射等地方。
Button.Create( , , ... IDC_BUTTON);ON_BN_CLICKED(IDC_BUTTON,OnClick);写OnClick()函数即可
在消息映射中添加
BEGIN_MESSAGE_MAP
.....
ON_CONTROL_RANGE(........)
END_MESSAGE_MAP()
并指定处理函数,具体用法看msdn
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,否则你就要手工修改消息映射等地方。
我们讨论了动态窗体中的动态控件,大家有很多小技巧。如果我用自己的类动态创建了一个个性工具条,然后在里面动态创建一个dataGrid,如何进行消息映射呢?再加50分,希望大家讨论讨论!