对话框程序动态生成按钮数组并响应点击消息
2010-12-11 15:11
513 查看
首先建立个基于对话框的MFC应用程序工程TestDlg,接下来
一、动态创建按钮
此段代码可放在对话框的OnInitDialog()里,也可放在其他地方
三、添加映射ON_CONTROL_RANGE
以上代码均用VS2008测试过...
一、动态创建按钮
此段代码可放在对话框的OnInitDialog()里,也可放在其他地方
int cntButton = 5; CButton *pButton = new CButton[cntButton]; for(int i = 0; i < cntButton; i++) { // 按钮位置 CRect rect; rect.top = 0; rect.bottom = 30; rect.left = i * 100 + 5; rect.right =i*100 + 100; // 按钮标题 CString strCaption; strCaption.Format("按钮%d", i); // 生成按钮 pButton[i].Create(strCaption, WS_VISIBLE|WS_CHILD|BS_PUSHBUTTON, rect, this, 3000 + i); //资源ID 可以"#define ID_BTN 3000" 此处就是"ID_BTN + i" }二、添加对话框类CtestDlgDlg的成员函数OnBnClickedButtonTest,作为点击按钮时的响应函数!
// 声明 afx_msg void OnBnClickedButtonTest(UINT uID); // 定义 void CtestDlgDlg::OnBnClickedButtonTest(UINT uID) { CString strIndex; strIndex.Format("%d", uID); AfxMessageBox(strIndex); }
三、添加映射ON_CONTROL_RANGE
// 加在在BEGIN_MESSAGE_MAP与END_MESSAGE_MAP之间 ON_CONTROL_RANGE(BN_CLICKED, // 点击消息 3000, // 按钮控件数组第一个ID 3004, // 按钮控件数组最后一个ID(例子中是5个,3000~3004) &CtestDlgDlg::OnBnClickedButtonTest) // 响应函数
以上代码均用VS2008测试过...
相关文章推荐
- 对话框程序动态生成按钮数组并响应点击消息
- 在一个消息响应函数中响应多个动态生成的按钮点击事件
- 在一个消息响应函数中响应多个动态生成的按钮点击事件
- MFC动态创建对话框中的按钮控件并创建其响应消息
- MFC小程序003------MFC使用WebBrowser组件,在对话框中创建滚动视图,动态创建一个静态文本控件并设置鼠标单击的消息响应
- MFC中如何处理动态生成的按钮的点击消息
- MFC小程序003------MFC使用WebBrowser组件,在对话框中创建滚动视图,动态创建一个静态文本控件并设置鼠标单击的消息响应
- C++ 动态创建按钮及 按钮的消息响应
- MFC工具栏动态创建Slider并生成消息响应
- VC程序中实现控件的动态生成与响应(一)
- 如何动态创建按钮,并响应消息
- 响应Android按钮点击事件并且弹出多个对话框的解决办法
- 动态生成 指定列数、行数的表格。并在每行最后一列添加一个删除按钮。点击删除按钮、删除本行!
- MFC动态创建按钮及添加消息响应
- VC程序中实现控件的动态生成与响应
- C#窗体程序怎么点击按钮打开一个选择文件的对话框
- MFC动态创建按钮及添加消息响应
- QT的一个奇怪问题,设置了Qt::Tool后,点击弹出对话框的确定取消按钮,程序直接退出。
- asp.net点击按钮动态生成文本框控件
- 点击编辑按钮,前端table表格行内指定td可修改。(table是动态生成的)