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

正文內(nèi)容

實踐教程第三章第二版-文庫吧在線文庫

2025-02-23 23:38上一頁面

下一頁面
  

【正文】 I(Single Document Interface),只允許一個框架窗口存在,每次只能創(chuàng)建和擁有一個文檔對象,也只允許打開一個文檔。 對話框類 作為應用程序主窗口 負責保存和顯示數(shù)據(jù) 應用程序類 返回 Dialogbased Application 主框架,應用程序主窗口 CChildView視圖類 負責保存和顯示數(shù)據(jù) 應用程序類 SDI Application, None Doc/View 返回 子框架, 視圖框架窗口 CChildView 視圖類 應用程序類 子框架, 視圖框架窗口 CChildView 視圖類 … 主框架,應用程序主框架窗口 MDI Application, None Doc/View 返回 圖 MFC應用程序開發(fā)過程 類向?qū)? 集成開發(fā)環(huán)境 應用程序向?qū)? 資源編輯器 Create .def .cpp .h .dsw .dsp .ico .rc .bmp 源文件 資源文件 編譯 .obj Build 資源編譯 .res 應用程序 5. MFC應用程序創(chuàng)建 MFC應用程序示例 對于一個 MFC應用程序來說,只有 CWinApp的派生對象是必不可少的,其它類均可視情況進行取舍。 (3).設置使用 MFC。}C M y W i n A p p t h e A p p 。 P r e T r a n s l a t e M e s s a g e ( amp。 File/Close,則程序收到 WM_COLSE消息,調(diào)用 ::DestroyWindow()發(fā)出 WM_DESTROY消息,然后調(diào) PostQuitMessage() ,發(fā)出 WM_QUIT消息,此時 Run會結(jié)束其內(nèi)部消息循環(huán),調(diào)用 ExitInstance() ; ,返回 WinMain() ,執(zhí)行 WinTerm() ,結(jié)束程序運行。 消息映射表由 BEGIN_MESSAGE_MAP和END_MESSAGE_MAP 這一對宏作開始和結(jié)束,中間是若干消息映射入口 每一個入口由特定的消息宏 ON_XXX組成,將一個消息與與之對應的處理函數(shù)聯(lián)系在一起。 使用 ClassWizard(見第五章菜單中 View菜單介紹 )定義消息映射關系,添加消息處理函數(shù),系統(tǒng)會自動生成函數(shù)原型和函數(shù)框架,開發(fā)人員只要添加函數(shù)體代碼,可以避免一些常見錯誤的產(chǎn)生。每個文檔類可能與多個視圖類關聯(lián),而每個視圖包含一個指向與其相關的文檔的指針。 MFC提供了一系列這樣的類,如 CTreeView 樹型視圖 CListView 列表型視圖 CFormView 顯示基于對話框模板的視圖CScrollView 帶滾動條的視圖。 對于 SDI應用,使用 CSingleDocTemplate文檔模板。 CAboutDlg 派生自 CDialog, 一個 About對話框 。在編輯窗口打開文檔類的頭文件 , 手工添加一個字符數(shù)組成員 m_StrName; 或 在Workspace的 ClassView頁面,右擊 CEx3_1Doc類,在彈出式菜單中 選擇 Add Member Variables,在對話框中輸入變量類型和名稱。 表 資源類型及其標示 資源標識前綴 IDM_ ID_ IDI_ IDB_ IDD_ IDR_ IDC_ IDS_ 資源類型 菜單項 ID 菜單命令 ID 圖標 ID 位圖 ID 對話框 ID 菜單欄、工具欄、加速鍵 控件 ID 字符串 返回 Visual C++ ,對資源進行可視化編輯,并自動生成 資源腳本文件 ;腳本文件可用文本編輯器進行編輯,但其可讀性較差,容易出錯,一般情況下盡量不要進行編輯。 對中文菜單 “ 文件 ” ,如希望用 AltF作為鍵盤操作方式,可寫成 “ 文件 (amp。 這一步才是快捷鍵的定義過程。 選擇 View|ClassWizard,打開 ClassWizard對話框,在Message Map頁面, 圖 。 圖 工具欄圖標編輯 2. 工具欄命令處理 如果工具欄按鈕與某個菜單項有相同的 ID, 則它們共享一個命令響應函數(shù) , 不需要另外定義命令響應函數(shù) 。 圖 對話框與文檔的數(shù)據(jù)交換 構(gòu)造對話框并更新 文檔數(shù)據(jù) 數(shù)據(jù)交換 對 話 框 模板 controls public: data members 文檔類: application datas 對話框類對象 2. 對話框的種類 Windows有兩種對話框,模態(tài)對話框和非模態(tài)對話框,構(gòu)造兩種對話框的大多數(shù)工作都相同,只是兩者的顯示和數(shù)據(jù)處理有些不同。 各種控件屬性對話框基本相似,在 ID框中輸入標識控件的唯一 ID值,在 Caption中輸入控件上顯示的字符 (Edit控件沒有這一屬性 ), Visible表示該控件在對話框創(chuàng)建時是否顯示, Group用來控制控件分組, Disabled使控件不可用, Tab stop表示是否用 Tab鍵選擇控件。一般在擁有列表框控件的對話框的 OnInitDialog函數(shù)中,調(diào)用CListBox::AddString(無序 )或CListBox::InsertString(有序 )插入字符串。 設計不同的菜單命令響應函數(shù),可以用對話框成員變量更新文檔數(shù)據(jù);也可以用文檔數(shù)據(jù)為對話框數(shù)據(jù)成員賦值,再顯示對話框 圖 為對話框添加數(shù)據(jù)成員 模態(tài)對話框 調(diào)用其 DoModal()函數(shù)顯示, 按 OK或 Cancel按鈕關閉對話框 非模態(tài)對話框 調(diào)用 Create()函數(shù)創(chuàng)建并顯示對話框 用 DestroyWindow關閉對話框。在 Windows中, DC允許應用程序使用輸出設備, DC在應用程序、設備驅(qū)動程序、與輸出設備之間建立聯(lián)系,并提供繪圖信息。 } typedef struct tagPOINT { LONG x。 (PS_SOLID,0,RGB(255,0,0))。 //選擇新畫筆,返回并保存原值 CBrush *poldBrush = pDC SelectStockObject (NULL_BRUSH)。 畫刷 參數(shù) 創(chuàng)建畫刷方法 實心畫刷 COLORREF值 CBrush brush。 MFC支持兩種永久保存:序列化和應用程序狀態(tài)保存。 (3)CArchive為序列化提供一個上下文。 UINT m_wSchema。 //靜態(tài)數(shù)據(jù)成員 , 新創(chuàng)建類的信息存儲在此 }。 ar) { if(( )) { //TODO: add storing code here } else { //TODO: add loading code here } } a)將類的基類定義為 CObject或其派生類; b)在類的聲明中定義一個缺省構(gòu)造函數(shù) (不帶任何參數(shù) )。 class CEx3_1Doc : public CDocument { CStudent *m_pStudent。 //構(gòu)造對象 return TRUE。 } else { ar m_pStudent。 //對象成員 …}。 //初始化存放運行時信息的鏈表為空 說明: CObject派生類在構(gòu)造對象時,類型信息被記錄在其 classobject結(jié)構(gòu)成員中,程序中構(gòu)造的全部對象通過結(jié)構(gòu)體的 m_pNextClass指針構(gòu)成一個類型信息表鏈表相互關聯(lián)。 //鏈表頭指針 , 靜態(tài)成員 , 只有一個 CRuntimeClass *m_pNextClass。 每創(chuàng)建一個新的對象,都記錄必要的類型信息,產(chǎn)生一個類型信息結(jié)構(gòu),構(gòu)成運行時類型信息表(鏈表 ),以便運行時進行類型檢查。 1. 序列化 序列化是將數(shù)據(jù)從應用程序?qū)懭霐?shù)據(jù)文件或從數(shù)據(jù)文件讀入應用程序的過程。 CBrush brush。 //畫出空心矩形 pDCSelectObject(poldBrush)。 CPen pen1。 (c).繪制直線及其它圖形 CDC用于圖形操作的成員函數(shù) MoveTo 從當前點移至參數(shù)點 LineTo 從當前點畫直線至參數(shù)點 Polyline 用 CPoint對象的數(shù)組作參數(shù) , 將數(shù)組中各點依次連直線 , Rectangle 畫長方形 Ellipse 以長方形為界 , 畫一個橢圓 Polygon 以數(shù)組中點為頂點 , 畫一個 多邊形 (d).文本輸出 文本輸出包含兩部分工作,分別用兩組函數(shù)實現(xiàn)。 COLORREF unused Blue Green Red 設備描述表最常見的使用是在視圖類的 OnDraw函數(shù)中進行圖形和文本輸出 宏 RGB定義顏色值 宏 RGB 定義一個顏色的三種基本色成分,返回COLORREF值 GetRValue 返回一個 COLORREF中紅色分量 GetGValue 返回一個 COLORREF中綠色分量 GetBValue 返回一個 COLORREF中藍色分量 例: COLORREF color = RGB(125,125,125)。 基于對話框的應用程序結(jié)構(gòu)簡單,只要正確選擇控件及定義成員變量,設計正確的算法。 選定后,在 WorkSpace中可看到新增加的類,自動生成的 頭文件和 。在分組框中使用最多的是單選按鈕 (radio buttons),一組單選按鈕允許用戶在組內(nèi)多個相互排他的選項內(nèi)選擇一項。 WinWord中的 Find and Replace對話框是一個典型的非模態(tài)對話框。 AppWizard為應用程序添加缺省的狀態(tài)欄,為 CMainFrame類增加 CStatusBar類的數(shù)據(jù)成員 m_wndStatusBar,在,作為狀態(tài)欄創(chuàng)建時的參數(shù)。 1.編輯工具欄 在 Workspace的 ResourceView頁面,點擊 Toolbar前的+號可以看到缺省的工具欄資源 IDR_MAINFRAME,雙擊它打開可視化工具欄編輯器。 UPDATE_COMMAND_UI是菜單更新消息 ,處理菜單狀態(tài)的動態(tài)變化。 c) 定義菜單項 雙擊空白菜單項,打開菜單項屬性對話框 ,如圖 ,在 General頁面上輸入 Caption菜單項名稱及其 ID值,在Prompt編輯框中的字符串是選擇該菜單項時狀態(tài)欄上顯示的內(nèi)容,在 \n后面的內(nèi)容為當光標移至工具欄上與其 ID值相同的圖標上時狀態(tài)欄顯示的內(nèi)容。 添加新的菜單資源 選擇 Insert Resource菜單項,在 Insert Resource對話框中,選擇 Menu資源類型,單擊 New按鈕,缺省新菜單名為IDR_MENU1。 當 windows將程序裝入內(nèi)存時 , 一般不將資源同時裝入 , 而是當需要某個資源時才將相應資源裝入 。 CMainFrame 派生自 CFrameWnd, 程序框架類 。 步驟如下: (1).在 File菜單中選擇 New,如圖 ,在Project頁面選擇 MFC AppWizard(exe),在Project name中輸入 Ex3_1,并選擇合適的路徑按 OK按鈕。 文檔 /視圖結(jié)構(gòu)已經(jīng)把應用程序所需要的數(shù)據(jù)處理與顯示(虛函數(shù) )的框架構(gòu)造好 , 程序設計人員只需要將具體應用的數(shù)據(jù)添加到文檔類 , 并根據(jù)數(shù)據(jù)類型在視圖類的虛函數(shù) OnDraw()中完成數(shù)據(jù)的顯示 。重定義這個函數(shù)實現(xiàn)在新文檔讀入之前初始化文檔的其它非序列化數(shù)據(jù)成員 √DeleteContents 由應用程序框架調(diào)用,以刪除文檔內(nèi)容。 視圖類的定義文件 (.cpp)中必須有 消息映射 定義: BEIGN_MESSAGE_MAP(CMyView,CView) //消息映射表定義 ON_WM_LBUTTONDOWN() //函數(shù)名為 OnLButtonDown … //其它消息映射入口 END_MESSAGE_MAP() 以及對應的消息響應函數(shù)定義: void CMyView::OnLButtonDown(UINT nFlags, CPoint point){ … //處理消息的操作代碼 , 程序中具體實現(xiàn) } 返回 將 CMyView的基類 CView也包含進去,當在派生類中沒找到處理函數(shù)時,允許在基類中繼續(xù)查找。 ON_COMMAND宏定
點擊復制文檔內(nèi)容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1