freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

實踐教程第三章第二版(編輯修改稿)

2025-02-17 23:38 本頁面
 

【文章內(nèi)容簡介】 如 CTreeView 樹型視圖 CListView 列表型視圖 CFormView 顯示基于對話框模板的視圖CScrollView 帶滾動條的視圖。 1)視圖類實現(xiàn)特定視圖的特性的虛函數(shù) √GetDocument 返回指向相關(guān)聯(lián)文檔對象的指針 √OnDraw 支持打印、打印預(yù)覽和在屏幕上顯示,由 OnPaint(重畫 ), OnPrint(打印 )調(diào)用 √OnInitialUpdate 當(dāng)視圖第一次與文檔關(guān)聯(lián)時被調(diào)用,重定義這個函數(shù)對重新讀入或新創(chuàng)建文檔的視圖進行初始化 √OnUpdate 當(dāng)文檔內(nèi)容發(fā)生變化,視圖需要更新時被調(diào)用,更新整個視圖。重定義這個函數(shù)可以實現(xiàn)只更新無效區(qū)域 表 CEx3_1Doc* pDoc = GetDocument()。 通過 GetDocument獲得與視圖關(guān)聯(lián)的文檔類指針,通過指針pDoc訪問文檔類的數(shù)據(jù)成員和函數(shù)成員,在視圖(窗口)中顯示文檔對象,當(dāng)用戶通過視圖改變文檔數(shù)據(jù)時,可設(shè)置自動更新文檔內(nèi)容。 文檔 /視圖結(jié)構(gòu)已經(jīng)把應(yīng)用程序所需要的數(shù)據(jù)處理與顯示(虛函數(shù) )的框架構(gòu)造好 , 程序設(shè)計人員只需要將具體應(yīng)用的數(shù)據(jù)添加到文檔類 , 并根據(jù)數(shù)據(jù)類型在視圖類的虛函數(shù) OnDraw()中完成數(shù)據(jù)的顯示 。 2) 視圖類的成員函數(shù)訪問與其關(guān)聯(lián)的文檔類的方式 CDocTemplate類將框架、視圖、文檔對象及應(yīng)用 程序的資源捆綁在一起。應(yīng)用程序每打開一個文件,至少創(chuàng)建一個文檔對象、一個視圖對象和一個框架窗口,而文檔模板對象負責(zé)管理所有這些對象,并將各種相關(guān)資源與之聯(lián)系在一起。 在大多數(shù)情況下,程序不需要對這個類進行修改。 對于 SDI應(yīng)用,使用 CSingleDocTemplate文檔模板。 對于 MDI應(yīng)用,使用 CMultiDocTemplate文檔模板。 MDI允許有多個文檔模板,將不同文檔 視圖類聯(lián)系在一起,實現(xiàn)不同文檔視圖顯示關(guān)系。 1) 使用 AppWzard,根據(jù)實際需要,選擇創(chuàng)建合適的應(yīng)用程序框架 (是否使用文檔 /視圖結(jié)構(gòu),使用SDI或 MDI等 ) 2) 在文檔類中添加程序所處理的數(shù)據(jù),作為文檔類數(shù)據(jù)成員; 3) 在視圖類中取得文檔數(shù)據(jù),以合適的方式在窗口中顯示出來 例 3_1:創(chuàng)建一個包含文檔 /視圖結(jié)構(gòu)單文檔界面應(yīng)用的實例,為文檔類添加一個字符串?dāng)?shù)據(jù),在視圖窗口顯示出來。 步驟如下: (1).在 File菜單中選擇 New,如圖 ,在Project頁面選擇 MFC AppWizard(exe),在Project name中輸入 Ex3_1,并選擇合適的路徑按 OK按鈕。 (2).在 AppWizard Step 1中,如圖 ,選擇 Single Document單 選按鈕,并選中 Document/ View architechure Support復(fù)選框, 表示使用文檔 /視圖結(jié)構(gòu),按 Finish按鈕。顯示 New Project Information信息框,顯示新創(chuàng)建的工程的有關(guān)信息按 OK按鈕,這樣工程創(chuàng)建完畢。 圖 New Project對話框 圖 AppWizard Step1 在 VC集成開發(fā)環(huán)境中看到 , 新工程生成了五個類 ,如 圖 在 class view頁面上可看到這些類 。 CAboutDlg 派生自 CDialog, 一個 About對話框 。 CEx3_1App 派生自 CWinApp, 其全局對象 theApp 代表應(yīng)用程序本身 。 CEx3_1Doc 派生自 CDocument, 文檔類 。 CEx3_1View 派生自 CView, 視圖類 。 CMainFrame 派生自 CFrameWnd, 程序框架類 。 文檔、視圖及應(yīng)用程序類名都以工程名開頭,后接對應(yīng)的類型名,這有助于在程序中有多個文檔視圖類時區(qū)分主視圖與其它視圖,區(qū)分主文檔與其它文檔類。 應(yīng)用程序向?qū)?AppWizard為每個類生成了一個頭文件和一個 .cpp文件,還自動生成了 , 圖 ,AppWizard還生成了缺省的用戶界面資源文件,在 Resource view頁面顯示。 圖 ClassView 圖 FileView (3).為文檔類增加數(shù)據(jù)成員。在編輯窗口打開文檔類的頭文件 , 手工添加一個字符數(shù)組成員 m_StrName; 或 在Workspace的 ClassView頁面,右擊 CEx3_1Doc類,在彈出式菜單中 選擇 Add Member Variables,在對話框中輸入變量類型和名稱。 在文檔類構(gòu)造函數(shù)中對新增加的變量進行初始化 。 (4).顯示字符串 .在 CEx3_1View的 OnDraw()函數(shù)顯示字符串。 圖 例 資源是 windows應(yīng)用程序的一種特殊數(shù)據(jù) , 包括菜單 、 加速鍵 、光標 、 位圖 、 圖標 、 對話框 、 字符串 、 工具欄 、 狀態(tài)欄等 ,資源一般放在 exe或 DLL文件中 。 當(dāng) windows將程序裝入內(nèi)存時 , 一般不將資源同時裝入 , 而是當(dāng)需要某個資源時才將相應(yīng)資源裝入 。 資源定義在資源腳本 ( resource scirpt) 文件中 。 以 .rc為文件擴展名 , 文件名與工程名相同 。 資源腳本文件中定義了各種資源的相關(guān)數(shù)據(jù) , Windows通過使用不同的資源標識符前綴來區(qū)分不同資源類型 (如 表 所示 ) , 這樣做雖然不是必須的 , 但遵循這樣的規(guī)則 有利于提高程序的通用性和可讀性 。 表 資源類型及其標示 資源標識前綴 IDM_ ID_ IDI_ IDB_ IDD_ IDR_ IDC_ IDS_ 資源類型 菜單項 ID 菜單命令 ID 圖標 ID 位圖 ID 對話框 ID 菜單欄、工具欄、加速鍵 控件 ID 字符串 返回 Visual C++ ,對資源進行可視化編輯,并自動生成 資源腳本文件 ;腳本文件可用文本編輯器進行編輯,但其可讀性較差,容易出錯,一般情況下盡量不要進行編輯。 用戶定義的資源標識符號常量定義在。 分類 : 頂層菜單 : 一般位于應(yīng)用程序主窗口或頂層窗口 彈出式菜單 : 選擇某個菜單項后彈出的子菜單 如果是 AppWizard產(chǎn)生的程序,系統(tǒng)已為框架創(chuàng)建了一個標準的主菜單,包括文件、編輯、視圖、窗口幫助等標準菜單,定義了各菜單項的 ID及相應(yīng)的命令處理函數(shù)。在 Resource View頁面,打開工程資源,選擇 Menu,然后雙擊主菜單資源IDR_MAINFRAME標示,可打開菜單編輯器。 添加新的菜單資源 選擇 Insert Resource菜單項,在 Insert Resource對話框中,選擇 Menu資源類型,單擊 New按鈕,缺省新菜單名為IDR_MENU1。 a) 增加一個頂層菜單 在菜單屬性對話框中,選中 Popup選項,可以定義一個頂層菜單,在 Caption編輯框中輸入菜單名,菜單名即顯示在菜單上。若在菜單名的某個字符前加一個 amp。符號,則菜單名該字符下顯示一個下畫線,可用 Alt加該字符作為選擇菜單的快捷方式。 對中文菜單 “ 文件 ” ,如希望用 AltF作為鍵盤操作方式,可寫成 “ 文件 (amp。F)”。 在定義好的菜單后面,仍預(yù)留了一個空白菜單,可拖動該空白菜單到任意位置增加新的菜單。 b) 增加一個子菜單 若在定義菜單項時選中 Popup選項,則在該菜單項右邊出現(xiàn)一個三角形符號,同時右邊出現(xiàn)一個新的菜單,再定義這個菜單。 c) 定義菜單項 雙擊空白菜單項,打開菜單項屬性對話框 ,如圖 ,在 General頁面上輸入 Caption菜單項名稱及其 ID值,在Prompt編輯框中的字符串是選擇該菜單項時狀態(tài)欄上顯示的內(nèi)容,在 \n后面的內(nèi)容為當(dāng)光標移至工具欄上與其 ID值相同的圖標上時狀態(tài)欄顯示的內(nèi)容。 在空白菜單項被定義后,該菜單的最下面又出現(xiàn)一個空白菜單項,拖動該空白菜單項可在已定義的菜單內(nèi)任何位置插入新菜單項或新子菜單。 d) 創(chuàng)建菜單加速鍵 Caption編輯框中,在菜單項名后,在字符 \t后,加上快捷鍵組合,如圖 所示, Ctrl+O表示打開文件操,快捷鍵組合會出現(xiàn)在菜單項名右端, 目的是給用戶一個提示; Workspace的 ResourceView頁面上,找到加速鍵Accelerator資源, AppWizard生成的缺省加速鍵資源名為IDR_MAINFRAME。雙擊它打開加速鍵表,在已有加速鍵表后面,有一個空白行,雙擊它打開加速鍵屬性對話框,如 圖 ,選擇某個菜單項 ID,在 Key列表框選擇某個虛擬鍵作為菜單命令的快捷方式,或選擇 Next Key Typed按鈕,此后鍵盤輸入的按鍵組合即為菜單命令加速鍵。 這一步才是快捷鍵的定義過程。 圖 菜單項設(shè)置 返回 定義菜單項 返回創(chuàng)建菜單加速鍵 選項 含義 ID 表示該菜單項的 ID值 Caption 表示該菜單項顯示的文本 Separator 表示該菜單項是一條分隔線 Checked 表示該菜單項被選中顯示一個標志 Popup 選擇該菜單項顯示一個子菜單 選項 含義 Grayed 該菜單項變灰顯示,被禁止 Inactive 該菜單項不被激活 Help Help菜單,通常放在菜單的最右端 Break 選中該菜單項后就退出其所在菜單 Prompt 光標移至該菜單項狀態(tài)欄顯示的文本 定義 Ctrl+O為 ID_FILE_OPEN的快捷方式,在 ID編輯框中輸入 ID_FILE_OPEN,在 Key中鍵入 O, 然后選中 Ctrl復(fù)選框即可定義了菜單項的快捷方式。 圖 快捷鍵設(shè)置 注意 : (1).不要對不同菜單命令使用相同的加速鍵組合 , 以免產(chǎn)生二意性; (2).加速鍵命令必須有菜單命令與之對應(yīng),加速鍵不應(yīng)該是某個命令唯一啟動方式。 MFC程序可以處理兩種菜單消息 WM_COMMAND為菜單命令消息 ,當(dāng)選擇菜單項、工具欄按鈕或加速鍵之一會發(fā)出菜單命令消息, MFC依據(jù)一定的消息傳遞途徑將消息傳遞給相應(yīng)的處理函數(shù)進行處理,如果在消息傳遞途徑的消息映射表中找不到相應(yīng)的處理函數(shù),該菜單項或按鈕會被禁止使用。 UPDATE_COMMAND_UI是菜單更新消息 ,處理菜單狀態(tài)的動態(tài)變化。如希望根據(jù)程序的執(zhí)行狀態(tài),激活或禁用某些菜單項,設(shè)置選中標記,或更改菜單項文字等,就要定義這一消息處理函數(shù)。 這一消息在 Message Map中定義如下: ON_UPDATE_COMMAND_UI(命令 ID,響應(yīng)函數(shù) ) 例如: ON_UPDATE_COMMAND_UI(ID_EDIT_COPY,OnUpdateEditCopy) 在某個菜單顯示前 , 框架將發(fā)送菜單內(nèi)所有菜單項的更新命令 , 有更新處理函數(shù)的菜單項 , 調(diào)用其處理函數(shù)更新菜單顯示方式; 沒有更新處理函數(shù)的菜單項 , 查找其命令處理函數(shù) , 若仍然沒有 , 則將菜單項禁用 。 3. 菜單消息的處理 定義好菜單項及其 ID后,為菜單命令添加響應(yīng)函數(shù),實現(xiàn)方法是借助 ClassWizard,在需要響應(yīng)菜單命令的類的消息映射表中增加一個入口,即定義一個命令消息 ON_COMMAND宏。 選擇 View|ClassWizard,打開 ClassWizard對話框,在Message Map頁面, 圖 。在 Class Name列表框中選擇要響應(yīng)菜單命令的類名,在 Object IDs列表框中選擇菜單 ID,在 Message列表框中選擇 COMMAND或UPDATE_COMMAND_UI,然后按 Add Function 按鈕,彈出 AddMember Function對話框,可以修改函數(shù)名或接受缺省函數(shù)名,按 OK結(jié)束這個對話框,然后在 ClassWizard對話框中按 Edit Code按鈕,直接跳至新增函數(shù)的定義處。 圖 ClassWizard 添加消息映射關(guān)系 工具欄 工具欄是一個包含一個或多個命令按鈕的窗口,一般情況下附著在窗口客戶區(qū)上方菜單欄下面,也可作為一個浮動的小窗口。工具欄為菜單命令提供可視化的快捷操作方式,模擬大部分的菜單行為。 1.編輯工具欄 在 Workspace的 ResourceView頁面,點擊 Toolbar前的+號可以看到缺省的工具欄資源 IDR_MAINFRAME,雙擊它打開可視化工具欄編輯器。 工具欄資源由一組按鈕組成,每個按鈕是一個 16色位圖圖標,工具欄編輯器提供一個簡單的位圖編輯器 ,點擊某個圖標即可編輯它。 用鼠標拖動圖標:改變它在工具欄中的位置 用鼠標拖出工具欄外:刪除圖標 雙擊位圖打開 Toolbar Button Properties對話框 ,圖 ,在 ID列表框中輸入命令 ID。列表框中列
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1