VC2008中如何為MFC應用程式新增和刪除訊息響應函式
最近重溫《MFC Windows應用程式設計》第二版這本書,裡面的程式碼全部是使用VC6.0寫的,我Win7下安裝的是VS2008開發環境。
VC2008下新增和刪除常見的訊息響應函式有兩種方法:自動和手動。
一、VC2008中自動新增訊息響應函式
舉一個《MFC Windows應用程式設計》的MFC單文件應用程式的例子,如下:
例4-9 設計一個利用CClientDC繪圖,在視窗單擊滑鼠左鍵之後,在視窗的使用者區出現一個菱形的應用程式。
(1) 在MFC AppWizard中建立一個名稱為MFCexp4_9的單文件應用程式。
(2) 在檢視類的OnLButtonDown()函式中輸入如下程式碼。
void CMFCexp4_9View::OnLButtonDown(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default CClientDC dc(this); //定義一個CClientDC的物件dc CRect rect; //定義一個描述矩形的物件rect GetClientRect(&rect); //獲得視窗使用者區的尺寸,並存入到rect //以下是繪製菱形的程式碼 dc.MoveTo(0,(rect.bottom+rect.top)/2); dc.LineTo((rect.left+rect.right)/2,0); dc.LineTo(rect.right,(rect.bottom+rect.top)/2); dc.LineTo((rect.right+rect.left)/2,rect.bottom); dc.LineTo(0,(rect.bottom+rect.top)/2); CView::OnLButtonDown(nFlags, point); }
其實在VS2008中新增訊息響應函式的辦法蠻簡單的,方法如下:
假如建立了一個名為Example的MFC單文件應用程式,則在VS2008中右鍵單擊類檢視中的CExampleView類,選中【Properties】,在屬性頁中選擇【Messages】項,其中有WM_LBUTTONDOWN的滑鼠左鍵按下的訊息,點選訊息後面的Add或者Delete即可一鍵新增或者刪除訊息響應函式以及對應的訊息對映巨集了。如下圖所示:
新浪博主百里無二轉載的一篇博文很簡潔:
VC2008 中新增MFC
·1.在類檢視中,右鍵需要新增處理函式的類,選擇屬性。
·2.在“屬性”視窗中,單擊“訊息”按鈕。
·3.在訊息列表框中,選擇需要新增的訊息。
·4.這樣就可以在程式碼框中看到,OnCreate已經添加了。
想要刪除的話再到訊息框中選刪除就可以了。
二、VC2008中手動新增或刪除訊息響應函式
可以參照CSDN博主kivcare這篇部落格:Vc2008中如何為檢視類新增訊息響應,他的方法是手動新增訊息響應函式,刪除的話就是逆過程了。手動刪除訊息響應函式需要刪掉三個地方,以刪除選單響應函式為例時包括以下三個部分:
1、標頭檔案中的定義,如afx_msg void OnDialogModel();
2、原始檔中的訊息響應,如:ON_COMMAND(ID_DIALOG_MODEL, &CMyboleView::OnDialogModel)
3、原始檔中具體的函式體,例如void CMyboleView::OnDialogModel()函式的定義實現部分:
看來以後得多使用一下VS2008這套工具,可以通過學習MFC和Win32應用程式多加練習。
相關推薦
VC2008中如何為MFC應用程式新增和刪除訊息響應函式
最近重溫《MFC Windows應用程式設計》第二版這本書,裡面的程式碼全部是使用VC6.0寫的,我Win7下安裝的是VS2008開發環境。 VC2008下新增和刪除常見的訊息響應函式有兩種方法:自動和手動。 一、VC2008中自動新增訊
VC2008中為你的程式新增XP主題風格
在Windows XP中提供了更美觀的主題風格,但是VC中新增的控制元件等卻還是經典風格,下面的方法可讓你的程式實現XP的主題風格。 1.插入資源,選擇“自定義”,輸入“24”(不帶雙引號)作為資源型別。 2.拷貝下面的程式碼到編輯框中。 <?xml versi
MFC 中基本的應用程式資訊和管理函式 ----- 全域性函式
AfxFreeLibrary : 減少已調入記憶體的動態連結庫模組的引用計數,當引用計數減到0時,該模組就會被釋放 AfxGetApp 返回應用程式物件CWinApp 的一個指標 AfxGetAppName 返回應用程式的名稱 AfxGetIns
怎麼為PDF文件新增和刪除頁面
一篇文件中總有不需要的內容,或者是要為文件新增新的內容。對於不需要的頁面內容我們可以刪除頁面,或者新增新的頁面內容。那麼PDF檔案如何新增和刪除頁面呢。 對pdf文件新增和刪除頁面也就是對pdf進行編輯,需要用pdf編輯器來操作。所以先用pdf編輯器開啟pdf檔
小程式新增和刪除新元素功能例項
wxxml檔案 <button type="primary" bindtap="addItemFn">新增</button> <button type="warn"
VC++ 新增自定義訊息響應函式以及傳送訊息SendMessage投遞訊息PostMessage的簡單測試
1.自定義訊息ID。 MyMessageDlg.h中 #define WM_MY_MESSAGE (WM_USER + 100) WM_USER為windows系統為非系統訊息保留的ID,這裡至
WM_CREATE訊息響應函式和WM_INITDIALOG訊息響應函式之區別
在響應WM_CREATE訊息響應函式的時候,對話方塊及子控制元件還未建立完成,亦是說只是通知系統說要開始建立視窗啦,這個訊息響應完之後,對話方塊和子控制元件才開始建立。因此在此訊息響應函式中無法對控制元件進
將應用程式新增到gnome3的全域性選單中(並支援修改為預設程式)
在gnome3中,如果將滑鼠移動到左上角,就會出現一個程式選單,類似於win8中的start介面,在這裡直接鍵入英文就可以快速索引程式,十分方便。不過像deadbeef(筆者喜歡的一個輕量級音樂播放器)這種從網上獲取的可執行檔案無法作為程式出現在gnome3的程式選單中,而
MFC為應用程式新增托盤(右鍵托盤,彈出選單)
1. 匯入一個托盤圖示的資源(.ico)格式;資源ID為IDI_ICON1 2. 在框架程式的初始化函式中,初始化一個托盤圖示的一個結構體 NOTIFYICONDATA notifyicondata;//NOTIFYICONDATA結構
VC中的Win32應用程式和MFC程式有什麼分別
WIN32 是Windows的一個子系統,也是最重要的一個。(還有POSIX子系統和OS/2子系統)Win32子系統為應用程式提供了使用系統資源的介面Win32 API,WIN32 API是Windows使用者態下應用程式程式設計的基礎。因此所有在WIN32API基礎上的應用
qt 如何為應用程式新增圖示
轉載:https://blog.csdn.net/taoerit/article/details/37735639 方法一:通過qtcreator新建一個檔案filename.qrc, 1、將圖片新增到filename.qrc檔案中:選擇Add Prefix得到/new/pre
Linux下,為應用程式新增桌面圖示(ubuntu18.4)
一、桌面圖示位置 Lniux下桌面圖示儲存路徑為:/usr/share/applications 二、桌面圖示格式 所有桌面圖示格式均為desktop,即名為XXX.desktop 三、編輯內容(常用) // 檔案頭(必須) [Desktop Entry] /
[Xcode10 實際操作]一、博主領進門-(14)在頂部狀態列顯示風火輪以及為應用程式新增應用圖示
本文將演示在頂部狀態列顯示風火輪。 主要用於在執行某個長時間動作時,提示使用者耐心等待動作的執行。 在專案導航區,開啟檢視控制器的程式碼檔案【ViewController.swift】 應用程式物件的核心作用,是提供程式執行期間的控制和協作。 每一個程式必須有,且僅有一個應用例項。 1 im
Opencv媒體與GUI---為應用程式新增滑塊
程式碼 #include <cv.h> #include <highgui.h> using namespace cv; /// 全域性變數的宣告與初始化 const int alpha_slider_max = 100; int alpha_s
MFC中如何將應用程式的配置資訊儲存到登錄檔中(二)
在上一篇中介紹了幾個寫入登錄檔資料和讀取登錄檔資料的介面,並介紹了使用方法。 這一片教你如何使得你的應用程式在下次開啟時保持上一次關閉前的狀態。 在上一篇新增的程式碼的基礎上,要新增WM_CLOSE訊息的響應函式,因為我們只有在視窗關閉前要儲存視窗的位置資訊,所以儲存視窗位
為您的Java應用程式新增退出事件處理
一個完整的Java應用程式,通常至少要有一個應用程式的結束點。對於一般程式來說,系統開發者根據需要和個人的偏好,會在程式結束位置,通過新增System.exit(0),或System.out(-1),來結束程式,或不加這些指令,讓程式自然執行到結束。 如:下列典型程式碼 p
MFC在VS2010中為ActiveX控制元件新增屬性
ActiveX控制元件有四種屬性: (1)Stock:為每個控制元件提供的標準屬性,如字型或顏色。 (2)Ambient:圍繞控制元件的環境屬性——已被置入容器的屬性。這些屬性不能被更改,但控制元件可以使用它們調整自己的屬性。 (3)Extended:這些是由容器處
qt 如何為應用程式新增圖示!
方法一:通過qtcreator新建一個檔案filename.qrc, 1、將圖片新增到filename.qrc檔案中:選擇Add Prefix得到/new/prefix1,簡單點改為/,再選Add F
MFC應用程式中嵌入一個谷歌cef瀏覽器
#include "include/base/cef_lock.h" #include "include/cef_client.h" class ClientHandler : public CefClient, public CefDisplayHandler,