首页 > 代码库 > MFC 窗口居中显示 VS2010

MFC 窗口居中显示 VS2010

MFC 窗口居中显示  VS2010

 技术分享 (2011-09-11 19:52:05)
技术分享转载
标签: 

窗口居中显示

 

it

分类: MFC

MFC窗口居中显示   VS2010   工程名为:MFC22_6

目的:点击居中按钮,窗口将在文档的中央显示
思路:
使窗口居中显示可以调用CWnd::CenterWindow函数。
void CenterWindow(CWnd* pAlternateOwner=NULL);
步骤:

1、   用创建一个单文档应用程序

2、   添加一个对话框资源//(类视图 右键—添加—资源—dialog即可)
ID为IDD_DEMO

3、   添加一个按钮
类型为BUTTON ,ID为 IDC_TEST 标题为 居中显示窗口

4、   创建一个基类为CDialog的类CdemoDlg(双击对话框)

 技术分享

5、点击“居中显示窗口”右键,类向导

 技术分享

“添加处理程序”,成员函数名称可不变,“确定”,然后“编辑代码”

 

 

 

void CAboutDlg::OnAfxIdPreviewClose()

{

    // TODO: 在此添加命令处理程序代码

    CenterWindow();

}

 

 

6、在CDemoDlg类中重载CDialog::PostNcDestroy函数,代码如下: //也添加在DemoDlg.cpp后
void CDemoDlg::PostNcDestroy()
{
delete this ;
}

 

//在DemoDlg.h后面添加

         void PostNcDestroy();

 

在MainFrm.cpp前面添加头文件

#include "DemoDlg.h"

 

 

 

7、在IDR_MAINFRAME菜单资源中添加一个子菜单,在菜单中添加菜单项,如下:
ID_SHOW_DLG 显示非模式对话框

点击MFC22_6.rc文件——Menu——IDR_MAINFRAME

 技术分享

8、在CMainFrame类中为菜单项添加命令处理函数:

具体步骤如下:

在“显示非模式对话框”右键,“事件处理程序向导”,添加编辑

技术分享

代码如下:

void CMainFrame::OnShowDlg()
{
CDemoDlg* pDlg=new CDemoDlg();
pDlg->Create(IDD_DEMO,this);
pDlg->ShowWindow(SW_SHOW);
}

 

DemoDlg.h中的

enum { IDD = IDD_DIALOG1 };

改为:

enum { IDD = IDD_DEMO };

 

 

在DemoDlg.h中添加:

public:

    void PostNcDestroy();


9、运行即可

 

点击菜单“对话框”——子菜单“显示非模式对话框”——“居中显示窗口”按钮

 技术分享

MFC 窗口居中显示 VS2010