资源描述:
《VC常用小技巧--让窗口一启动就最大化.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、窗口让窗口一启动就最大化把应用程序类(CxxxApp)的InitInstance()函数中的m_pMainWnd->ShowWindow(SW_SHOW);改为m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED);则窗口一启动就最大化显示。显示位置的设置方法GetWindowRect()得到的是在屏幕坐标系下的RECT(即以屏幕左上角为原点)GetClientRect()得到的是在客户区坐标系下的RECT(即以所在窗口左上角为原点,去掉了标题栏计算,仅仅是个大小,返回值的左上角永远为0,0)ScreenToClient()就是把屏幕坐
2、标系下的RECT坐标转换为客户区坐标系下的RECT坐标。如果需要获得窗体在屏幕上的位置,使用GetWindowRect如果需要获得窗体的大小,使用GetClientRect如何设置窗口的初始尺寸在将应用程序类(CxxAPP)的InitInstance()函数中加入:m_pMainWnd->SetWindowPos(NULL,x,y,Width,Height,SWP_NOMOVE);Width为窗口宽度,Height为窗口高度SWP_NOMOVE表示忽略位置(x,y)。如:让窗口居中显示以下两种方法可任选其一:①在应用程序类(CxxxApp)的InitInstan
3、ce()函数中加入:②在主框架类(MainFrm.cpp)的OnCreate()函数中加入:CenterWindow(GetDesktopWindow());如:如何修改窗口标题窗口标题一般形式为:文档标题-程序标题1、设置文档标题:在文档类(CxxxDoc)的OnNewDocument()函数中加入语句:SetTitle("文档名");如:TextEditorDoc.cpp:①可删除Debug文件夹和Release文件夹;②原则上还可删除主文件夹中所有图标为的文件,包括.aps、.ncb、.opt、.plg等文件,它们都能在编译时重建。但一般.clw不要删除,
4、它可能导致ClassWizard不好用。控件如何隐藏和显示控件用CWnd类的函数BOOLShowWindow(intnCmdShow)可以隐藏或显示一个控件。例1:CWnd*pWnd;pWnd=GetDlgItem(IDC_EDIT1);//获取控件指针,IDC_EDIT为控件ID号pWnd->ShowWindow(SW_HIDE);//隐藏控件例2:CWnd*pWnd;pWnd=GetDlgItem(IDC_EDIT1);//获取控件指针,IDC_EDIT为控件ID号pWnd->ShowWindow(SW_SHOW);//显示控件按钮的使能与禁止用ClassW
5、izard的MemberVariables为按钮定义变量,如:m_Button1;则m_Button1.EnableWindow(true);使按钮处于允许状态m_Button1.EnableWindow(false);使按钮被禁止,并变灰显示改变控件的大小和位置用CWnd类的函数MoveWindow()或SetWindowPos()可以改变控件的大小和位置。voidMoveWindow(intx,inty,intnWidth,intnHeight);voidMoveWindow(LPCRECTlpRect);第一种用法需给出控件新的坐标和宽度、高度;第二种用法
6、给出存放位置的CRect对象;例:CWnd*pWnd;pWnd=GetDlgItem(IDC_EDIT1);//获取控件指针,IDC_EDIT1为控件ID号pWnd->MoveWindow(CRect(0,0,100,100));//在窗口左上角显示一个宽100、高100的编辑控件SetWindowPos()函数使用更灵活,多用于只修改控件位置而大小不变或只修改大小而位置不变的情况:BOOLSetWindowPos(constCWnd*pWndInsertAfter,intx,inty,intcx,intcy,UINTnFlags);第一个参数一般设为NULL;
7、x、y控件位置;cx、cy控件宽度和高度;nFlags常用取值:SWP_NOZORDER:忽略第一个参数;SWP_NOMOVE:忽略x、y,维持位置不变;SWP_NOSIZE:忽略cx、cy,维持大小不变;例:CWnd*pWnd;pWnd=GetDlgItem(IDC_BUTTON1);//获取控件指针,IDC_BUTTON1为控件ID号pWnd->SetWindowPos(NULL,50,80,0,0,SWP_NOZORDER
8、SWP_NOSIZE);//把按钮移到窗口的(50,80)处pWnd=GetDlgItem(IDC_EDIT1);pWnd->SetW
9、indowPos(NUL