在MFC加入的幫助提示_第1頁(yè)
在MFC加入的幫助提示_第2頁(yè)
在MFC加入的幫助提示_第3頁(yè)
在MFC加入的幫助提示_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、VC技巧三-界面在MFC加入的幫助提示MFC在CPropertySheet中封裝了屬性,但不支持標(biāo)題的這是什么?幫助提示.函 數(shù)CPropertySheet:OnNcCreate()屏蔽了擴(kuò)展風(fēng)格 WS_EX_CONTEXTHELP,因此,即 使你在構(gòu)造函數(shù)中加入了擴(kuò)展風(fēng)格,它也不能出現(xiàn)在窗口中.解決方法很簡(jiǎn)單,在繼承類中設(shè)置好風(fēng)格位,如下所示:BOOL CWhatsThisPropertySheet:OnNcCreate(LPCREATESTRUCT lpCreateStruct)(if(!CPropertySheet:OnNcCreate(lpCreateStruct)return FAL

2、SE;顯式地定義此風(fēng)格/CPropertySheet 默認(rèn)是關(guān)ModifyStyleEx(0, WS_EX_CONTEXTHELP);return true;)精通工具條VC+的工具條有很多特性,但有時(shí)候也會(huì)讓你感到困惑.這里有一些使它們服服 貼貼的小技巧.要移走一個(gè)工具條項(xiàng),只須將它拖到空工具條的右邊,然后點(diǎn)擊右上角的關(guān)閉按 鈕.注意顯示在浮動(dòng)工具條菜單條上的工具條的名稱,可以通過(guò)右擊菜單條來(lái)關(guān)閉一個(gè)工具條,使之掛起.反過(guò)來(lái),激活一個(gè)掛起的工具條,右擊你菜單條或另一個(gè)工 具條,然后選中你想看到的工具條的名字.如果你想同時(shí)開關(guān)好幾個(gè)工具條,不用一個(gè)一個(gè)地去右擊,使用菜單上的工具, 用戶化菜單命

3、令,會(huì)出現(xiàn)工具條制表順序?qū)υ捒颍缓筮M(jìn)行選擇.這個(gè)對(duì)話框也允 許掛起干擾你的工具條,或者增大看不見工具條按鈕的圖標(biāo).你可以在調(diào)試時(shí)使用和編輯代碼時(shí)不同的工具條布局,而二者不互相干擾.當(dāng)你 發(fā)現(xiàn)浮動(dòng)工具條停在不期望的位置時(shí),按住Ctrl鍵,然后用鼠標(biāo)將它移到旁邊去, 當(dāng)你停下來(lái)的時(shí)候,它不再回去,即使你把它放在另一個(gè)工具條的上面.如何改變視窗的背景顏色Windows向窗口發(fā)送一個(gè)WM_ERASEBKGND消息通知該窗口擦除背景,可以使用 ClassWizard重載該消息的缺省處理程序來(lái)擦除背景(實(shí)際是畫),并返回 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應(yīng)用程序添加全屏幕顯示功能在CMainFrame類中添加下列成員變量和成員函數(shù)(使用ClassWizard),下面是 這些變量和函數(shù)的功能說(shuō)明:成員變量:BOOL m_bFul

6、lScreen; /全屏幕顯示標(biāo)志CRectm_FullScreenWindowRect; 全屏幕顯示窗口 RectWINDOWPLACEMENT m_wpPrev; /用于保存正常視圖時(shí)的窗口位置信息CToolBar * m_wndFullScreenBar; /全屏幕顯示時(shí)的浮動(dòng)工具條 成員函數(shù):void OnMenuFullscreen(); 全屏幕顯示的處理函數(shù)void OnGetMinMaxInfo(); /捕獲 WM_GETMINMAXINFO 消息以便允許你增加 窗口大小void OnUpdateViewFullScreen(); /更新“全屏幕顯示”菜單的狀態(tài) 源碼voidCM

7、ainFrame:OnMenuFullscreen()(/全屏幕顯示的處理函數(shù)RECT rectDesktop;WINDOWPLACEMENT wpNew;if (m_bFullScreen)(/全屏幕顯示模式/隱藏工具條和狀態(tài)條m_wndStatusBar.ShowWindow(SW_HIDE);m_wndToolBar.ShowWindow(SW_HIDE);保存正常視圖時(shí)的窗口位置信息以便恢復(fù)原來(lái)狀態(tài) GetWindowPlacement (&m_wpPrev);m_wpPrev.length = sizeofm_wpPrev;調(diào)整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;/恢復(fù)工具條和狀態(tài)條m_wndStatusBar.ShowWindow(SW_SHOWNORMAL);m_wndToolBar.ShowWindow(SW_SHOWNORMAL);wpNew = m_wpPrev;設(shè)置窗口顯示狀態(tài)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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論