vcMFC添加窗体全过程
时间: 2023-06-19 15:08:12 浏览: 72
在 VC++ MFC 中添加窗体的全过程如下:
1. 打开 VC++ MFC 应用程序,创建一个新的 MFC 应用程序。
2. 在“工具箱”中选择“对话框”控件,然后在主界面上单击并拖动以创建新的对话框。
3. 右键单击新创建的对话框,并选择“Add Class”选项。在“Add Class”对话框中,选择“MFC Class from TypeLib”选项,并选择“Microsoft Forms 2.0 Form”控件,然后单击“Finish”按钮。
4. 在“Add Member Variables”对话框中,选择要添加的控件,并为该控件命名,并单击“OK”按钮。
5. 在新创建的类中,添加以下代码:
```
BOOL CMyForm::OnInitDialog()
{
CDialogEx::OnInitDialog();
// TODO: Add extra initialization here
m_ctlMyButton.SubclassDlgItem(ID_MY_BUTTON, this);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
```
6. 在“资源视图”中,选择“IDD_MY_DIALOG”对话框,并在“属性视图”中选择“Class”属性,将其更改为新创建的类名。
7. 在“资源视图”中,选择“IDD_MY_DIALOG”对话框,并在“属性视图”中选择“Style”属性,将其更改为“Popup”。
8. 在“资源视图”中,选择“IDD_MY_DIALOG”对话框,并在“属性视图”中选择“ExStyle”属性,将其更改为“WS_EX_TOOLWINDOW”。
9. 在“资源视图”中,选择“IDD_MY_DIALOG”对话框,并在“属性视图”中选择“Caption”属性,将其更改为“”(空字符串)。
10. 在新创建的类中,添加以下代码:
```
void CMyForm::OnOK()
{
// TODO: Add your specialized code here and/or call the base class
CDialogEx::OnOK();
}
void CMyForm::OnCancel()
{
// TODO: Add your specialized code here and/or call the base class
CDialogEx::OnCancel();
}
```
11. 在“资源视图”中,选择“IDD_MY_DIALOG”对话框,并在“属性视图”中选择“Menu”属性,将其更改为“None”。
12. 在“资源视图”中,选择“IDD_MY_DIALOG”对话框,并在“属性视图”中选择“System Menu”属性,将其更改为“False”。
13. 在“资源视图”中,选择“IDD_MY_DIALOG”对话框,并在“属性视图”中选择“Minimize Box”属性,将其更改为“False”。
14. 在“资源视图”中,选择“IDD_MY_DIALOG”对话框,并在“属性视图”中选择“Maximize Box”属性,将其更改为“False”。
15. 在“资源视图”中,选择“IDD_MY_DIALOG”对话框,并在“属性视图”中选择“Resizable”属性,将其更改为“False”。
16. 在“资源视图”中,选择“IDD_MY_DIALOG”对话框,并在“属性视图”中选择“Visible”属性,将其更改为“False”。
17. 在新创建的类中,添加以下代码:
```
void CMyForm::OnSize(UINT nType, int cx, int cy)
{
CDialogEx::OnSize(nType, cx, cy);
// TODO: Add your message handler code here
}
BOOL CMyForm::OnEraseBkgnd(CDC* pDC)
{
// TODO: Add your message handler code here and/or call default
return CDialogEx::OnEraseBkgnd(pDC);
}
```
18. 在新创建的类中,添加以下代码:
```
BEGIN_MESSAGE_MAP(CMyForm, CDialogEx)
ON_WM_SIZE()
ON_WM_ERASEBKGND()
END_MESSAGE_MAP()
```
19. 在“资源视图”中,选择“IDD_MY_DIALOG”对话框,并在“属性视图”中选择“Event”属性,将其更改为“OnInitDialog”事件,并将其关联到新创建的类的“OnInitDialog”方法。
20. 在“资源视图”中,选择“IDD_MY_DIALOG”对话框,并在“属性视图”中选择“Event”属性,将其更改为“OnOK”事件,并将其关联到新创建的类的“OnOK”方法。
21. 在“资源视图”中,选择“IDD_MY_DIALOG”对话框,并在“属性视图”中选择“Event”属性,将其更改为“OnCancel”事件,并将其关联到新创建的类的“OnCancel”方法。
22. 在“资源视图”中,选择“IDD_MY_DIALOG”对话框,并在“属性视图”中选择“Event”属性,将其更改为“OnSize”事件,并将其关联到新创建的类的“OnSize”方法。
23. 在“资源视图”中,选择“IDD_MY_DIALOG”对话框,并在“属性视图”中选择“Event”属性,将其更改为“OnEraseBkgnd”事件,并将其关联到新创建的类的“OnEraseBkgnd”方法。
24. 最后,在新创建的类中,添加头文件“afxctl.h”和“afxwin.h”。