学习笔记之MFC修改默认窗口大小
2012-11-17 12:04
501 查看
有很多的办法改变窗口运行的大小:
举一个例子:
intCMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CFrameWnd::OnCreate(lpCreateStruct) ==-1)
return -1;
if (!m_wndToolBar.CreateEx(this,TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY| CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
TRACE0("Failed to createtoolbar\n");
return -1; // fail to create
}
if (!m_wndStatusBar.Create(this) ||
!m_wndStatusBar.SetIndicators(indicators,
sizeof(indicators)/sizeof(UINT)))
{
TRACE0("Failed to create statusbar\n");
return -1; // fail to create
}
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndToolBar);
::ShowWindow(this->m_hWnd,SW_SHOWMAXIMIZED);//代码在这里
return 0;
}
对于MDI的窗口只要分别在主窗口的OnCreate函数和子窗口的PreCreateWindow函数中添加代码就可以
或者在App类的InitInstance函数中改变显示主框架
m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED);
m_pMainWnd->UpdateWindow();
上面的方法都只是最大化窗口而已,如果想要自定义窗口大小的话,还可以用下面的方法
重载BOOL PreCreateWindow(CREATESTRUCT& cs)
函数
BOOLCMainFrame::PreCreateWindow(CREATESTRUCT&cs)
{
if( !CFrameWnd::PreCreateWindow(cs))
return FALSE;
// TODO: Modify the Window class or styles here bymodifying
// the CREATESTRUCTcs
cs.dwExStyle&= ~WS_EX_CLIENTEDGE;
cs.lpszClass = AfxRegisterWndClass(0);
cs.style |=WS_CLIPCHILDREN|WS_CLIPSIBLINGS;
cs.cx = 1000;//窗口宽度
cs.cy = 800;//窗口高度
return TRUE;
}
举一个例子:
intCMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CFrameWnd::OnCreate(lpCreateStruct) ==-1)
return -1;
if (!m_wndToolBar.CreateEx(this,TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY| CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
TRACE0("Failed to createtoolbar\n");
return -1; // fail to create
}
if (!m_wndStatusBar.Create(this) ||
!m_wndStatusBar.SetIndicators(indicators,
sizeof(indicators)/sizeof(UINT)))
{
TRACE0("Failed to create statusbar\n");
return -1; // fail to create
}
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndToolBar);
::ShowWindow(this->m_hWnd,SW_SHOWMAXIMIZED);//代码在这里
return 0;
}
对于MDI的窗口只要分别在主窗口的OnCreate函数和子窗口的PreCreateWindow函数中添加代码就可以
或者在App类的InitInstance函数中改变显示主框架
m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED);
m_pMainWnd->UpdateWindow();
上面的方法都只是最大化窗口而已,如果想要自定义窗口大小的话,还可以用下面的方法
重载BOOL PreCreateWindow(CREATESTRUCT& cs)
函数
BOOLCMainFrame::PreCreateWindow(CREATESTRUCT&cs)
{
if( !CFrameWnd::PreCreateWindow(cs))
return FALSE;
// TODO: Modify the Window class or styles here bymodifying
// the CREATESTRUCTcs
cs.dwExStyle&= ~WS_EX_CLIENTEDGE;
cs.lpszClass = AfxRegisterWndClass(0);
cs.style |=WS_CLIPCHILDREN|WS_CLIPSIBLINGS;
cs.cx = 1000;//窗口宽度
cs.cy = 800;//窗口高度
return TRUE;
}
相关文章推荐
- VS2013MFC对话框工程学习笔记五 - 了解窗口和窗口控件的属性并修改
- MFC学习 修改窗口样式
- Qt学习笔记,修改指定图片的大小,转换为QIcon用于QPushButton等控件
- 学习笔记--MFC在滚动条窗口如何使所图的图形不产生偏移
- [每日一学]MFC学习笔记——线程中控制窗口内容
- MFC 笔记 申请设备子类 加入图片 自定义字体 修改窗口标题
- SPSS学习系列之SPSS Modeler怎么修改默认的内存大小(图文详解)
- MFC学习笔记——如何使窗口最大化,但不遮盖任务栏
- Qt学习笔记,修改指定图片的大小,转换为QIcon用于QPushButton等控件
- 学习笔记--MFC在滚动条窗口如何使所图的图形不产生偏移
- MFC学习笔记之六————更改appwizard生成的窗口外观
- 学习笔记(九)MFC修改屏幕分辨率
- [每日一学]MFC学习笔记——多窗口之间的通信
- VC++ 深入详解 学习笔记(5) -- 修改窗口样式续
- MFC学习笔记——多窗口之间的通信
- JavaScript高级程序设计(第2版) 学习笔记:(五)js获取窗口大小
- MFC学习笔记之三————区分窗口类对象以及窗口&&四种获得DC方式绘图
- VS2013MFC单文档工程学习笔记七 - 创建新的一个窗口并让窗口2透明
- MFC学习笔记之窗口刷新的步骤
- 孙鑫vc++ 第九课 笔记 修改MFC AppWizard向导生成的框架程序的外观和大小