2014-01-16 33 views
-1

我有小測試來處理MFC中的位圖(VC++ 2008)。Lib或示例代碼來處理MFC中的位圖

我想處理鼠標左鍵單擊或在圖像上單擊鼠標右鍵來調用任何事件。

(我不想來計算座標,我只想處理圖像作爲對象,左一下,右一下該對象)

任何人都知道的MFC lib或源代碼,請幫幫我。 謝謝。

回答

0

使用圖片控件顯示圖片。圖片控件在MFC中由CStatic表示。由於CStatic不會生成您想要的鼠標通知,因此您需要使用MFC子類化技術對其進行定製。

首先你創建一個類型爲CStatic的控制成員變量。然後添加你想要的自定義鼠標處理,創建一個派生自CStatic的類,併爲你感興趣的所有鼠標消息添加消息處理程序,如WM_LBUTTONDOWN和WM_RBUTTONDOWN。將你的控制成員變量改爲你的CStatic派生類而不是CStatic。現在,您正在攔截進入圖片控件的鼠標消息。編寫一些代碼在每個消息處理通知父對話框/表格,就像...

#define UWM_LIMAGECLICK (WM_USER+10) // your custom message 

GetParent()->PostMessage(UWM_IMAGECLICK, IDC_IMAGE, 0); // your picture control's ID 

父窗口可以用

ON_MESSAGE(UWM_LIMAGECLICK, OnLImageClick) // in the message map 

LRESULT CYourParentClass::OnLImageClick(WPARAM wParam, LPARAM lParam) 
{ 
    ....the image was L clicked 
    return 0; 
} 
+0

你有任何樣本項目接收和處理該消息它?謝謝 – MartinJoo

+0

在網上搜索「MFC子類」 –