vc如何让打开的子窗口默认是最大化的
2010-08-22 19:50
211 查看
MDI子窗口一启动就最大化
方法一:
在CChildFrame::PreCreateWindow(CREATESTRUCT& cs)函数中,加了
cs.style |= WS_VISIBLE|WS_MAXIMIZE;,可以实现了
方法二:
用ClassWizard为CChildFrame类添加ActiveFrame消息
void CChildFrame::ActivateFrame(int nCmdShow)
{
if(GetMDIFrame()->MDIGetActive())
CMDIChildWnd::ActivateFrame(nCmdShow);
else // else open maximized.
CMDIChildWnd::ActivateFrame(SW_SHOWMAXIMIZED);
}
主窗口最大化:
在 InitStance 函数中设定 m_nCmdShow的取值.
m_nCmdShow=SW_SHOWMAXMIZED //最大化
MDI窗口:
重载 MDI Window 的PreCreateWindow函
数,设置WS_MAXIMIZE
文档一生成就最大化:
在视类重载的OnInitUpdate成员函数中加上:
CMDIChildWnd *pWnd=(CMDIChildWnd *)GetParentFrame();
pWnd->MDIMaximize();
使子框架窗口在创建时就最大化的正解:
有人说如下覆盖ActivateFrame虚函数就可以了:
BOOL PreCreateWindow(CREATESTRUCT& cs)
{
cs |= WS_MAXIMIZE;
return CMDIChildWnd::PreCreateWindow(cs);
}
经试验无效。
有人说覆盖ActivateFrame虚函数就可以了:
void CChildFrame::ActivateFrame(int nCmdShow)
{
// Create the child frame window maximized
nCmdShow = SW_MAXIMIZE;
CMDIChildWnd::ActivateFrame(nCmdShow);
}
经试验有效,但效果不好,因为用户可以看到一个最大化的过程,如同用户手工按下最大化按钮的情形一样。
再试,再上网搜索,难道没有办法了么?
最后一招:
BOOL PreCreateWindow(CREATESTRUCT& cs)
{
cs |= WS_MAXIMIZE|WS_VISIBLE;
return CMDIChildWnd::PreCreateWindow(cs);
}
啊!这不就第一招么?再仔细看看吧。
经试验有效,而且没有第二招的缺点。
方法一:
在CChildFrame::PreCreateWindow(CREATESTRUCT& cs)函数中,加了
cs.style |= WS_VISIBLE|WS_MAXIMIZE;,可以实现了
方法二:
用ClassWizard为CChildFrame类添加ActiveFrame消息
void CChildFrame::ActivateFrame(int nCmdShow)
{
if(GetMDIFrame()->MDIGetActive())
CMDIChildWnd::ActivateFrame(nCmdShow);
else // else open maximized.
CMDIChildWnd::ActivateFrame(SW_SHOWMAXIMIZED);
}
主窗口最大化:
在 InitStance 函数中设定 m_nCmdShow的取值.
m_nCmdShow=SW_SHOWMAXMIZED //最大化
MDI窗口:
重载 MDI Window 的PreCreateWindow函
数,设置WS_MAXIMIZE
文档一生成就最大化:
在视类重载的OnInitUpdate成员函数中加上:
CMDIChildWnd *pWnd=(CMDIChildWnd *)GetParentFrame();
pWnd->MDIMaximize();
使子框架窗口在创建时就最大化的正解:
有人说如下覆盖ActivateFrame虚函数就可以了:
BOOL PreCreateWindow(CREATESTRUCT& cs)
{
cs |= WS_MAXIMIZE;
return CMDIChildWnd::PreCreateWindow(cs);
}
经试验无效。
有人说覆盖ActivateFrame虚函数就可以了:
void CChildFrame::ActivateFrame(int nCmdShow)
{
// Create the child frame window maximized
nCmdShow = SW_MAXIMIZE;
CMDIChildWnd::ActivateFrame(nCmdShow);
}
经试验有效,但效果不好,因为用户可以看到一个最大化的过程,如同用户手工按下最大化按钮的情形一样。
再试,再上网搜索,难道没有办法了么?
最后一招:
BOOL PreCreateWindow(CREATESTRUCT& cs)
{
cs |= WS_MAXIMIZE|WS_VISIBLE;
return CMDIChildWnd::PreCreateWindow(cs);
}
啊!这不就第一招么?再仔细看看吧。
经试验有效,而且没有第二招的缺点。
相关文章推荐
- vc如何让打开的子窗口默认是最大化的
- vc如何让打开的子窗口默认是最大化的
- vc如何让打开的子窗口默认是最大化的
- vc如何让打开的子窗口默认是最大化的
- 如何改变VC6文档程序默认的打开文件对话框
- 如何让IE窗口打开时就自动默认为最大化
- Win10系统下如何使用默认浏览器打开QQ网页?
- 如何恢复、打开、开启默认共享ipc$ c$ Dameware安装出错
- VS2005中MDI子窗体怎么让他打开的时候最大化?默认最大化!winform
- VC如何让对话框一显示就最大化
- C# Winform 中如何获取本机安装输入法,并设置为默认输出语言,如何打开搜狗输入法和手写板
- 如何用默认设置打开Word
- 如何在设置中默认打开EPO,AGPS功能以提高用户体验
- 分散在不同文件夹中的.h文件如何在VC2010中得到快速定位并打开?
- VC中如何打开指定程序或者文件
- Visual Studio 2013 配置Boost库。 如何编译和选择,遇到无法打开文件“libboost_thread-vc120-mt-gd-1_58.lib的解决办法
- Android 6.0 如何默认打开user版本的root权限
- [MTK]如何默认打开user debug 选项
- 导出word如何默认打开为页面视图
- 如何使浏览器默认下载文件而不是打开文件