MFC 如何同时创建多个控件关联起来
时间: 2023-09-15 09:17:49 浏览: 251
MFC 中可以使用 Create 函数同时创建多个控件,然后将它们关联起来。具体步骤如下:
1. 在对话框类的头文件中定义控件变量,如:
```
CButton m_btn1;
CButton m_btn2;
CEdit m_edit1;
```
2. 在 OnInitDialog 函数中使用 Create 函数创建控件:
```
BOOL CMyDialog::OnInitDialog()
{
CDialogEx::OnInitDialog();
// 创建按钮控件
m_btn1.Create(_T("Button 1"), WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, CRect(10, 10, 110, 30), this, 1);
// 创建第二个按钮控件
m_btn2.Create(_T("Button 2"), WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, CRect(120, 10, 220, 30), this, 2);
// 创建编辑框控件
m_edit1.Create(WS_CHILD | WS_VISIBLE | WS_BORDER | ES_LEFT | ES_AUTOHSCROLL, CRect(10, 40, 220, 60), this, 3);
return TRUE;
}
```
3. 在头文件中定义控件变量的时候,为控件变量添加变量映射,如:
```
BEGIN_MESSAGE_MAP(CMyDialog, CDialogEx)
ON_BN_CLICKED(1, &CMyDialog::OnBtn1Clicked)
ON_BN_CLICKED(2, &CMyDialog::OnBtn2Clicked)
ON_EN_CHANGE(3, &CMyDialog::OnEdit1Changed)
END_MESSAGE_MAP()
```
4. 在控件对应的消息处理函数中处理消息,如:
```
void CMyDialog::OnBtn1Clicked()
{
// TODO: 处理按钮 1 点击事件
}
void CMyDialog::OnBtn2Clicked()
{
// TODO: 处理按钮 2 点击事件
}
void CMyDialog::OnEdit1Changed()
{
// TODO: 处理编辑框文本变化事件
}
```
这样就可以同时创建多个控件,并将它们关联起来了。
阅读全文