论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > C语言程序设计教程
Tag:新手,函数,指针,数据类型,对象,Turbo,入门,运算符,数组,结构,二级,,tc,游戏,试题,问答,编译,视频教程

Visual C++ 编程技巧之二_VC技术_C语言教程

文章类别:C语言程序设计 | 发表日期:2010-6-19 14:34:02

Visual C++ 编程技巧之二_VC技术_C语言教程

本文来自21视频教程网C语言频道

9. 如何改变窗口的图标?

向窗口发送 WM_SECTION消息。

Example:

HICON hIcon=AfxGetApp() ->LoadIcon(IDI_ICON);

ASSERT(hIcon);

AfxGetMainWnd() ->SendMessage(WM_SECTION,TRUE,(LPARAM) hIcon);

10. 如何改变窗口的缺省风格?

重栽 CWnd:: PreCreateWindow 并修改CREATESTRUCT结构来指定窗口风格和其他

创建信息.

Example: Delete "Max" Button and Set Original Window's Position and Size

BOOL CMainFrame:: PreCreateWindow (CREATESTRUCT &cs)

{

cs.style &=~WS_MAXINIZEMOX;

cs.x=cs.y=0;

cs.cx=GetSystemMetrics(SM_CXSCREEN/2);

cs.cy=GetSystemMetrics(SM_CYSCREEN/2);

return CMDIFramewnd ::PreCreateWindow(cs);

}

11. 如何将窗口居中显示?

Easy, Call Function CWnd:: Center Windows

Example(1): Center Window( ); //Relative to it's parent

// Relative to Screen

Example(2): Center Window(CWnd:: GetDesktopWindow( ));

//Relative to Application's MainWindow

AfxGetMainWnd( ) -> Center Window( );

12. 如何让窗口和 MDI窗口一启动就最大化和最小化?

先说窗口。

InitStance 函数中设定 m_nCmdShow的 取值.

m_nCmdShow=SW_SHOWMAXMIZED ; //最大化

m_nCmdShow=SW_SHOWMINMIZED ; //最小化

m_nCmdShow=SW_SHOWNORMAL ; //正常方式

MDI窗口:

如果是创建新的应用程序,可以用 MFC AppWizard Advanced 按钮并在

MDI子窗口风格组中检测最大化或最小化; 还可以重载 MDI Window

PreCreateWindow函数,设置WS_MAXMIZE or WS_MINMIZE;

如果从 CMDIChildWnd 派生,调用 OnInitialUpdate函数中的 CWnd::Show

Window来指定 MDI Child Window的 风格。

13. 如何使程序保持极小状态?

很有意思的 问题

这么办: 在恢复程序窗体大小时, Windows会发送WM_QUERY-OPEN消息,

ClassWizard设置成员函数 OnQueryOpen() ,add following code:

Bool CMainFrame:: OnQueryOpen( )

{

Return false;

}

14. 如何限制窗口的大小?

也就是 FixedDialog形式。 Windows 发送 WM_GETMAXMININFO消息来跟踪,

响应它,OnGetMAXMININFO 中写代码:

15. 如何使窗口不可见?

很简单,SW_HIDE 隐藏窗口,可以结合 FindWindow,ShowWindow 控制.

16. 如何使窗口始终在最前方?

两种途径.

BringWindowToTop(Handle);

SetWindowPos函数,指定窗口的最顶风格,WS_EX_TOPMOST扩展窗口的风格

Example:

void ToggleTopMost( CWnd *pWnd)

{

ASSERT_VALID(pWnd);

pWnd ->SetWindowPos(pWnd-> GetStyle( ) &WS_EX_TOPMOST)?

&wndNoTopMOST: &wndTopMost,0,0,0,0,SSP_NOSIZE|WSP_NOMOVE);

视频教程列表
文章教程搜索
 
C语言程序设计推荐教程
C语言程序设计热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058