正在加载图片...
71框架窗口 修改 CREATESTRUCT结构 窗口创建之前,系统自动调用 PrecreateWindow虚函数。在用 MFC AppWizard创建 SDI/MDI应用程序结构时,MFC已为主窗口或文档窗口类自动重载了该虚函数。可以 在此函数中通过修改 CREATESTRUCT结构来设置窗口的绝大多数风格 例如,在SD程序中,框架窗口默认的风格是WS_ OVERLAPPEDWINDOW和 FWS ADDTOTITLE的组合,更改风格代码 BOOL CMainFrame: PreCreateWindow(CREATESTRUCT& CS) {∥新窗口不带有[最大化]按钮 cs style & NWS_MAXIMIZEBOX ∥/将窗口的大小设为1/3屏幕并居中 y=: GetSystem Metrics(SM_CYSCREEN)/ CS. CX=: GetSystemMetrics(SM_CXSCREEN)/ Cs.y=((CS. cy *3)-CScy)/2 CS.X=((CS. CX*3)-CS CX)/2 ∥/调用基类的 PrecreateWindow函数 return CFrameWnd: PreCreateWindow(cs) 对于MD程序,文档窗口的风格可用下列的代码更改 BOOL CChildFrame: PreCreateWindow(CREATESTRUCT& cs) {∥/创建不含有[最大化]按钮的子窗口 csstyle & NWS MAXIMIZEBOX ∥/调用基类的 PreCreate Window函数 return CMDIChildWnd: PreCreateWindow(cs)i7.1框架窗口 ➢ 修改CREATESTRUCT结构 窗口创建之前,系统自动调用PreCreateWindow虚函数。在用MFC AppWizard创建 SDI/MDI应用程序结构时,MFC已为主窗口或文档窗口类自动重载了该虚函数。可以 在此函数中通过修改CREATESTRUCT结构来设置窗口的绝大多数风格。 例如,在SDI程序中,框架窗口默认的风格是WS_OVERLAPPEDWINDOW和 FWS_ADDTOTITLE的组合,更改风格代码: BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) { // 新窗口不带有[最大化]按钮 cs.style &= ~WS_MAXIMIZEBOX; // 将窗口的大小设为1/3屏幕并居中 cs.cy = ::GetSystemMetrics(SM_CYSCREEN) / 3; cs.cx = ::GetSystemMetrics(SM_CXSCREEN) / 3; cs.y = ((cs.cy * 3) - cs.cy) / 2; cs.x = ((cs.cx * 3) - cs.cx) / 2; // 调用基类的PreCreateWindow函数 return CFrameWnd::PreCreateWindow(cs); } 对于MDI程序,文档窗口的风格可用下列的代码更改: BOOL CChildFrame::PreCreateWindow(CREATESTRUCT& cs) { // 创建不含有[最大化]按钮的子窗口 cs.style &= ~WS_MAXIMIZEBOX; // 调用基类的PreCreateWindow函数 return CMDIChildWnd::PreCreateWindow(cs); }
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有