VC_MFC技巧
1.创建 MFC 应用程序的时候,高级里面可以设置子窗口属性,包括子窗口的系统
菜单(关闭、最 大化、最小化按钮等)的设置,在最后一步选择视图类以 CF
ORMVIEW 为基类.
2.在应用程序的初始化函数里可以用以下语句使主窗口初始状态为不打开任何
文档和居中:
//初始为不打开任何文档
cmdInfo.m_nShellCommand=CCommandLineInfo::FileNothing;
//居中
pMain...
1.创建 MFC 应用程序的时候,高级里面可以设置子窗口属性,包括子窗口的系统
菜单(关闭、最 大化、最小化按钮等)的设置,在最后一步选择视图类以 CF
ORMVIEW 为基类.
2.在应用程序的初始化函数里可以用以下语句使主窗口初始状态为不打开任何
文档和居中:
//初始为不打开任何文档
cmdInfo.m_nShellCommand=CCommandLineInfo::FileNothing;
//居中
pMainFrame->CenterWindow();
3。在视图类的 OnInitialUpdate 函数中使文档打开为最大化
//最大化文档
CMDIChildWnd* pWnd=(CMDIChildWnd*)GetParentFrame();
pWnd->MDIMaximize();
4.将对话框加入客户区
创建对话框,将样式设置为下层,创建基类为 FROMVIEW 的相应视图类。
在 CMainFrame 类的构造函数中声明一个公有子窗口对象指针: CMDIChild
Wnd *m_pMyView;
将对话框类的头文件包含进来,在构造函数中将指针初始化为空:m_pMyView=
NULL;
在响应函数中输入以下代码:(CDMyView 为相应的对话框视 图类,注意在对
话框属性里将样式设置为下层,边框设置为无,且给对话框创建类的时候 设 C
FormView 为基类。)
if(m_pMyView!=NULL)
{
m_pMyView->MDIActivate();
return;
}
CCreateContext context;
context.m_pNewViewClass=RUNTIME_CLASS(CDMyView);
m_pMyView=new CMDIChildWnd();
if(!m_pMyView->LoadFrame(IDI_ICON1,WS_MAXIMIZE|WS_OVERLAPPEDW
INDOW,this,&context))
return;
m_pMyView->ShowWindow(SW_SHOW);
m_pMyView->InitialUpdateFrame(NULL,true);
m_pMyView->MDIMaximize();
在对话框的销毁响应函数里:
void CDMyView::OnDestroy()
{
CFormView::OnDestroy();
((CMainFrame*)AfxGetMainWnd())->m_pMyView=NULL;
delete ((CMainFrame*)AfxGetMainWnd())->m_pMyView;
}
5.手动绑定静态文本控件变量
不知道是 VC 编译器的 BUG 还是怎么的,那天在子窗口上添加一个静态文本
竟然不能添加相应的控件变量,正因为这样也使我知道了怎么手动添加控件变量:
在相应的类的构造函数里声明一个公有变量 CStatic m_str;
在该类的 DoDataExchange 函数中加入映射
//{{AFX_DATA_MAP(CTollView)
DDX_Control(pDX, IDC_STSTRING, m_str);
//}}AFX_DATA_MAP
其中 IDC_STSTRING 为静态文本控件的 ID
因为最近主要做这方面的编程,虽然水平不怎么样,但是有其他经验还会跟大
家分享。也希望大家多多指教。
本文档为【VC_MFC技巧】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。