visual c++第06章 框架窗口、文檔和視圖

visual c++第06章 框架窗口、文檔和視圖

ID:10019249

大?。?83.50 KB

頁數(shù):80頁

時間:2018-05-21

visual c++第06章 框架窗口、文檔和視圖_第1頁
visual c++第06章 框架窗口、文檔和視圖_第2頁
visual c++第06章 框架窗口、文檔和視圖_第3頁
visual c++第06章 框架窗口、文檔和視圖_第4頁
visual c++第06章 框架窗口、文檔和視圖_第5頁
資源描述:

《visual c++第06章 框架窗口、文檔和視圖》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。

1、第6章框架窗口、文檔和視圖盡管窗口、文檔和視圖是MFC的基礎,但可能也是最不容易理解的部分,因為其概念比傳統(tǒng)編程所需要的Windows函數(shù)更強一些,因此,須在本章做進一步詳細討論框架窗口、文檔和視圖的方法和技巧。6.1框架窗口分兩類:一是應用程序主窗口,另一類是文檔窗口。6.1.1主窗口和文檔窗口主窗口(或稱主框架窗口)是應用程序直接放在桌面(DeskTop)上的那個窗口,每個應用程序只能有一個窗口,主窗口的標題欄上往往顯示應用程序的名稱。主窗口類的源文件名是MainFrm.h和MainFrm.cpp,其類名是CMainFr

2、ame。單文檔SDI程序主窗口類是從CFrameWnd派生來的。多文檔MDI程序主窗口類是從CMDIFrameWnd派生的。如果應用程序中還有工具欄(CToolBar)狀態(tài)欄(CStatusBar),那么在CMainFrame類還含有表示工具欄和狀態(tài)欄的成員變量m_wndToolBar和m_wndStatusBar,并在CMainFrame的OnCreate函數(shù)中進行初始化。文檔窗口對于SDI程序來說,它和主窗口是一致的,即主窗口就是文檔窗口;對于MDI程序,文檔窗口是主窗口的子窗口。見書244頁圖6.1所示。文檔窗口一般都

3、有相應的可見邊框,他的客戶區(qū)(初了窗口標題欄、邊框外的區(qū)域)是由相應的視圖來構成的,可以說視圖是文檔窗口內的子窗口。文檔窗口時刻跟蹤當前處于活動狀態(tài)的視圖的變化,并將用戶或系統(tǒng)產生的命令消息傳遞給當前活動視圖。而主窗口負責管理各個用戶交互對象(包括菜單、工具欄、狀態(tài)欄以及加速鍵)并根據(jù)用戶操作相應地創(chuàng)建或更新文檔窗口及其視圖。在MDI應用程序中,MFCAppWizard創(chuàng)建的文檔子窗口類的源代碼文件是ChildFrm.h和ChildFrm.cpp,其類名是CChildFrame,它是從CMDIChildWnd派生的。6.1.

4、2窗口風格的設置窗口的風格決定了窗口的外觀及功能,用戶通過風格的設置增加或減少窗口中所包含的功能,這些功能一般都是由系統(tǒng)內部定義的,不需要用戶去編程實現(xiàn)。窗口風格可以通過MFCAppWizard來設置,也可以在主窗口或文檔窗口類的PreCreateWindow函數(shù)中修改CREATESTRUCT結構,或是可以調用CWnd類的成員函數(shù)ModifyStyle和ModifyStyleEx來更改。1、窗口風格通常以WS_為前綴和擴展以WS_EX_為前綴兩種形式;這兩種形式的窗口風格可在函數(shù)CWnd::Create(只能指定窗口的一般風

5、格)或CWnd::CreateEx(可同時支持以上兩種風格),對于控件和對話框這樣的窗口來說,它們的窗口風格可直接通過其屬性對話框來設置。常見的一般窗口風格如下所示:(書245頁表6.1)WS_BORDER窗口含有邊框WS_CAPTION窗口含有標題欄(它意味著還具有WS_BORDER風格)但它不能和WS_DLGFRAME組合WS_CHILD創(chuàng)建子窗口,它不能和WS_POPUP組合WS_CLIPCHILDREN在父窗口范圍內裁剪子窗口,它通常在父窗口創(chuàng)建時指定WS_CLIPSIBLINGS裁剪相鄰子窗口,也就是說,具有此風格

6、的子窗口和其他子窗口重疊的部分被裁剪,它只和WS_CHILD組合WS_DISABLED窗口最初時是禁用的WS_DLGFRAME窗口含有雙邊框,但沒有標題WS_GROUP此風格被控件組中第1個控件窗口指定。用戶可在控件組的第1個和最后1個控件中用方向鍵來選擇WS_HSCROLL窗口最初時處于最大化WS_MAXIMIZEBOX在窗口的標題欄上含有”最大化”按鈕WS_MINIMIZE窗口最初處于最小化,他只和WS_OVERLAPPED組和WS_MINIMIZEBOX在窗口的標題欄上含有”最小化”按鈕WS_OVERLAPPED創(chuàng)建覆

7、蓋窗口,一個覆蓋窗口通常有一個標題和邊框WS_OVERLAPPEDWINDOW創(chuàng)建一含有WS_OVERLAPPED、WS_CAPTION、WS_SYSMENU、WS_THICKFRAME、WS_MINIMIZEBOX和WS_MAXIMIZEBOX風格的覆蓋窗口WS_POPUP創(chuàng)建一彈出窗口,它不能和WS_CHILD組合,只能用CreateWx函數(shù)指定WS_POPUPWINDOW創(chuàng)建一含有WS_BORDER、WS_POPUP和WS_SYSMENU風格的彈出窗口。當WS_CAPTION和WS_POPUPWINDOW風格組合時才能

8、使系統(tǒng)菜單可見。WS_SYSMENU窗口的標題欄上含有系統(tǒng)菜單框,它僅用于含有標題的窗口WS_TABSTOP用戶可以用于TAB鍵選擇控件組中的下一個控件WS_THICKFRAME窗口含有邊框,并可調整窗口的大小WS_VISIBLE窗口最初是可見的WS_VSCROLL窗口含有垂直滾動條除了這

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內容,確認文檔內容符合您的需求后進行下載,若出現(xiàn)內容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。