在MFC加入的帮助提示_第1页
在MFC加入的帮助提示_第2页
在MFC加入的帮助提示_第3页
在MFC加入的帮助提示_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、VC技巧三-界面在MFC加入的帮助提示MFC在CPropertySheet中封装了属性,但不支持标题的这是什么?帮助提示.函 数CPropertySheet:OnNcCreate()屏蔽了扩展风格 WS_EX_CONTEXTHELP,因此,即 使你在构造函数中加入了扩展风格,它也不能出现在窗口中.解决方法很简单,在继承类中设置好风格位,如下所示:BOOL CWhatsThisPropertySheet:OnNcCreate(LPCREATESTRUCT lpCreateStruct)(if(!CPropertySheet:OnNcCreate(lpCreateStruct)return FAL

2、SE;显式地定义此风格/CPropertySheet 默认是关ModifyStyleEx(0, WS_EX_CONTEXTHELP);return true;)精通工具条VC+的工具条有很多特性,但有时候也会让你感到困惑.这里有一些使它们服服 贴贴的小技巧.要移走一个工具条项,只须将它拖到空工具条的右边,然后点击右上角的关闭按 钮.注意显示在浮动工具条菜单条上的工具条的名称,可以通过右击菜单条来关闭一个工具条,使之挂起.反过来,激活一个挂起的工具条,右击你菜单条或另一个工 具条,然后选中你想看到的工具条的名字.如果你想同时开关好几个工具条,不用一个一个地去右击,使用菜单上的工具, 用户化菜单命

3、令,会出现工具条制表顺序对话框,然后进行选择.这个对话框也允 许挂起干扰你的工具条,或者增大看不见工具条按钮的图标.你可以在调试时使用和编辑代码时不同的工具条布局,而二者不互相干扰.当你 发现浮动工具条停在不期望的位置时,按住Ctrl键,然后用鼠标将它移到旁边去, 当你停下来的时候,它不再回去,即使你把它放在另一个工具条的上面.如何改变视窗的背景颜色Windows向窗口发送一个WM_ERASEBKGND消息通知该窗口擦除背景,可以使用 ClassWizard重载该消息的缺省处理程序来擦除背景(实际是画),并返回 TRUE以防止Windows擦除窗口。/Paint area that needs

4、 to be erased.BOOL CSampleView : : OnEraseBkgnd (CDC* pDC)(/ Create a pruple brush.CBrush Brush (RGB (128 , 0 , 128);/ Select the brush into the device context .CBrush* pOldBrush = pDCSelcetObject (&brush);/ Get the area that needs to be erased .CRectreClip ;pDCGetCilpBox (&rcClip);/Paint the area.p

5、DCPatBlt (rcClip.left , rcClip.top ,rcClip.Width ( ) ,rcClip.Height ( ) , PATCOPY );/Unselect brush out of device context .pDCSelectObject (pOldBrush );/ Return nonzero to half frutherprocessing .return TRUE;为MFC应用程序添加全屏幕显示功能在CMainFrame类中添加下列成员变量和成员函数(使用ClassWizard),下面是 这些变量和函数的功能说明:成员变量:BOOL m_bFul

6、lScreen; /全屏幕显示标志CRectm_FullScreenWindowRect; 全屏幕显示窗口 RectWINDOWPLACEMENT m_wpPrev; /用于保存正常视图时的窗口位置信息CToolBar * m_wndFullScreenBar; /全屏幕显示时的浮动工具条 成员函数:void OnMenuFullscreen(); 全屏幕显示的处理函数void OnGetMinMaxInfo(); /捕获 WM_GETMINMAXINFO 消息以便允许你增加 窗口大小void OnUpdateViewFullScreen(); /更新“全屏幕显示”菜单的状态 源码voidCM

7、ainFrame:OnMenuFullscreen()(/全屏幕显示的处理函数RECT rectDesktop;WINDOWPLACEMENT wpNew;if (m_bFullScreen)(/全屏幕显示模式/隐藏工具条和状态条m_wndStatusBar.ShowWindow(SW_HIDE);m_wndToolBar.ShowWindow(SW_HIDE);保存正常视图时的窗口位置信息以便恢复原来状态 GetWindowPlacement (&m_wpPrev);m_wpPrev.length = sizeofm_wpPrev;调整RECT为新的窗口尺寸:GetWindowRect (

8、:GetDesktopWindow(), &rectDesktop );:AdjustWindowRectEx(&rectDesktop, GetStyle(), TRUE, GetExStyle();保存 RECT 以便 OnGetMinMaxInfo()使用 m_FullScreenWindowRect = rectDesktop;wpNew = m_wpPrev;wpNew.showCmd = SW_SHOWNORMAL;wpNew.rcNormalPosition = rectDesktop;生成新的工具条m_wndFullScreenBar=new CToolBar;if(!m_wn

9、dFullScreenBar-Create(this, CBRS_SIZE_DYNAMIC|CBRS_FLOATING)| !m_wndFullScreenBar-LoadToolBar(IDR_FULLSCREEN)(TRACE0(Failed to create toolbarn);return; / fail to create/不允许工具条停泊m_wndFullScreenBar-EnableDocking(FALSE);m_wndFullScreenBar-SetWindowPos(0,100,100,0,0,SWP_NOSIZE|SWP_NOZORDER|SWP_NOACTIVAT

10、E|SWP_SHOWWINDOW);m_wndFullScreenBar-SetWindowText(_T(全屏幕显示); FloatControlBar(m_wndFullScreenBar, CPoint(100,100);m_bFullScreen=TRUE;else(/正常显示模式删除全屏幕工具条m_wndFullScreenBar-DestroyWindow();deletem_wndFullScreenBar;m_bFullScreen=FALSE;/恢复工具条和状态条m_wndStatusBar.ShowWindow(SW_SHOWNORMAL);m_wndToolBar.ShowWindow(SW_SHOWNORMAL);wpNew = m_wpPrev;设置窗口显示状态SetWindowPlacement( &wpNew );voidCMainFrame:OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI)(if (m_bFullScreen)(lpMMI-ptMaxSize.y = m_FullScreenWindowRect.Height();lpMMI-ptMaxTrackSize.y = lpMMI-ptMaxSize.y;lpMMI-ptMaxSize.x = m_FullScree

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论