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

正文內容

windows-編程-復習綱要(編輯修改稿)

2025-09-03 11:19 本頁面
 

【文章內容簡介】 來自 菜單、加速鍵或工具欄 按鈕的消息。這類消息都以 WM_COMMAND呈現(xiàn)。在 MFC中,通過菜單項的標識( ID)來區(qū)分不同的命令消息;在SDK中,通過消息的 wParam參數(shù)識別。 從 CCmdTarget派生的類,都可以接收到這類消息。 ? 通告消息 由 控件 產(chǎn)生的消息,例如,按鈕的單擊,列表框的選擇等均產(chǎn)生此類消息,為的是向其父窗口(通常是對話框)通知事件的發(fā)生。這類消息也是以WM_COMMAND形式呈現(xiàn)。 從 CCmdTarget派生的類,都可以接收到這類消息。 菜單響應函數(shù) Fundamentals of Computers 制作:劉曉翔 JINAN University 暨南大學電氣信息學院 《 Windows編程 》 2022/8/31 22 菜單命令消息路由的過程(簡答題) ① 當點擊某菜單項時,最先接收到這個菜單命令消息的是 框架類 。 ② 框架類把接收到的這個消息傳給它的子窗口,即 視類 。視類根據(jù)命令消息映射機制查找自身是否對這個消息進行了響應,如果響應了,則調用自身相應響應函數(shù)。 ③ 如果視類沒有對此命令消息作出響應,就交由 文檔類 ,文檔類同樣查找自身是否這個消息進行了響應,如果響應了,則調用自身相應響應函數(shù)。 ④ 如果文檔類也未做出響應,就把這個命令消息交還給視類,后者再交還給 框架類 。 ⑤ 框架類查看自己是否對這個命令消息進行了響應,如果它也沒有相應,就把這個菜單命令消息交給 應用程序類 ,由后者來處理。 菜單響應函數(shù) Fundamentals of Computers 制作:劉曉翔 JINAN University 暨南大學電氣信息學院 《 Windows編程 》 2022/8/31 23 對話框 對話框是一個窗口,與對話框資源相關的類為CDialog,由 CWnd類派生而來。 可以將對話框看成是一個大容器,在它上面能夠放置各種標準和擴展 控件 ,是用戶與程序進行交互的重要手段。 在 MFC中,所有的控件都是由 CWnd派生而來,因此,控件實際上也是窗口。 對話框基本知識 Fundamentals of Computers 制作:劉曉翔 JINAN University 暨南大學電氣信息學院 《 Windows編程 》 2022/8/31 24 對話框的種類 ? 模式對話框: 當其顯示時,程序會 暫停執(zhí)行 ,直到關閉這個對話框后,才能繼續(xù)執(zhí)行程序中其他任務。例如“文件 /打開” 對話框。 ? 無模式對話框: 當其顯示時, 允許轉而執(zhí)行程序中其他任務 ,而不用關閉這個對話框。該類型對話框不會壟斷用戶的操作,用戶仍可以與其他界面對象進行交互。例如“查找”對話框。 對話框基本知識 Fundamentals of Computers 制作:劉曉翔 JINAN University 暨南大學電氣信息學院 《 Windows編程 》 2022/8/31 25 DoModal()函數(shù) 創(chuàng)建模式對話框需要調用 CDialog類的成員函數(shù): DoModal,該函數(shù)的功能就是創(chuàng)建并顯示一個模式對話框。 創(chuàng)建模式對話框 void CMainFrame::OnTest() { // TODO: Add your mand handler code here CMyDialog dlg。 ()。 } Fundamentals of Computers 制作:劉曉翔 JINAN University 暨南大學電氣信息學院 《 Windows編程 》 2022/8/31 26 Create()函數(shù) 創(chuàng)建非模式對話框需要調用 CDialog類的成員函數(shù): BOOL Create(UINT nIDTemplate, CWnd* pParentWnd = NULL)。 創(chuàng)建非模式對話框 void CMainFrame::OnTest() { // TODO: Add your mand handler code here CMyDialog dlg。 (IDD_DIALOG1, this)。 } 注意: 運行程序,對話框并未顯示 ~! Fundamentals of Computers 制作:劉曉翔 JINAN University 暨南大學電氣信息學院 《 Windows編程 》 2022/8/31 27 ShowWindow()函數(shù) 當利用 Create函數(shù)創(chuàng)建非模式對話框時,還需要調用ShowWindow函數(shù)將這個對話框顯示出來。 創(chuàng)建非模式對話框 void CMainFrame::OnTest() { CMyDialog dlg。 (IDD_DIALOG1, this)。 (SW_SHOW)。 } 注意: 運行程序,對話框仍未顯示 ~! Fundamentals of Computers 制作:劉曉翔 JINAN University 暨南大學電氣信息學院 《 Windows編程 》 2022/8/31 28 對話框未顯示之原因分析 這里創(chuàng)建的非模式對話框對象( dlg)是一個局部對象,當OnTest函數(shù)結束時, dlg這個對象的生命周期也就結束了,它會銷毀與之相關聯(lián)的對話框資源,因此對話框不會顯示。 在創(chuàng)建模式對話框時,當執(zhí)行到 DoModal函數(shù)顯示這個對話框時,程序會暫停執(zhí)行,直到關閉模式對話框之后,程序才繼續(xù)執(zhí)行。也就是說,當模態(tài)對話框顯示時, dlg這個對象的生命周期并未結束。 為什么模式對話框不會出現(xiàn)這樣的問題? 結論: 在創(chuàng)建 非模式對話框 時, 不能 把對話框對象定義為 局部對象 。 創(chuàng)建非模式對話框 Fundamentals of Computers 制作:劉曉翔 JINAN University 暨南大學電氣信息學院 《 Windows編程 》 2022/8/31 29 解決方法 1——使用成員變量 把對話框對象定義為視類的 成員變量 。 注意:在銷毀對話框之前, Create函數(shù)只能調用一次,否則會出錯。 void CMainFrame::OnTest() { static BOOL bFlag = TRUE。 if (TRUE == bFlag) { (IDD_DIALOG1, this)。 bFlag = FALSE。 } (SW_SHOW)。 } 創(chuàng)建非模式對話框 Fundamentals of Computers 制作:劉曉翔 JINAN University 暨南大學電氣信息學院 《 Windows編程 》 2022/8/31 30 解決方法 2——使用推內存 把對話框對象定義為 指針 ,在 堆 上分配內存。 void CMainFrame ::OnTest() { CMyDialog* pDlg = new CMyDialog。 pDlgCreate(IDD_DIALOG1, this)。 pDlgShowWindow(SW_SHOW)。 } 注意: 該程序存在問題。由于沒有辦法釋放這個指針變量所指向的那塊內存,會出現(xiàn)內存泄漏 ~! 消除內存泄漏的辦法: ;或者 對話框的 PostNcDestroy函數(shù),添加代碼 delete this. 創(chuàng)建非模式對話框 Fundamentals of Computers 制作:劉曉翔 JINAN University 暨南大學電氣信息學院 《 Windows編程
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1