2014-01-16 5 views
-1

У меня есть небольшой тест для обработки растрового изображения в MFC (VC++ 2008).Lib или пример кода для обработки растрового изображения в MFC

Я хочу обработать левую клик мыши или щелкните правой кнопкой мыши по изображению, чтобы позвонить в любое событие.

(я не хочу, чтобы вычислить координаты, я только хочу, чтобы обрабатывать изображения в качестве объекта и щелкните левой кнопкой мыши, щелкните правой кнопкой мыши на этом объекте)

Каждый знает Lib или исходный код MFC, пожалуйста, помогите мне. Спасибо.

ответ

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» –

Смежные вопросы