0 Members and 1 Guest are viewing this topic.
BOOL set = TRUE;DwmSetWindowAttribute(GetSafeHwnd(), DWMWA_HAS_ICONIC_BITMAP, &set, sizeof(set));DwmSetWindowAttribute(GetSafeHwnd(), DWMWA_FORCE_ICONIC_REPRESENTATION, &set, sizeof(set));
WM_DWMSENDICONICTHUMBNAILWM_DWMSENDICONICLIVEPREVIEWBITMAP
Приветствую. Очень рад видеть вас на нашем форуме. Теперь по делу, я обрабатываю только WM_DWMSENDICONICTHUMBNAIL сообщение, WM_DWMSENDICONICLIVEPREVIEWBITMAP уходит в дефолтный обработчик WndProc окна.
Спасибо за отчет - а теперь главный вопрос, как я могу обрабатывать только WM_DWMSENDICONICTHUMBNAIL, а сообщение WM_DWMSENDICONICLIVEPREVIEWBITMAP не обрабатывать вообще.
У вас кстати тоже как-то не так - когда Peek preview часики крутятся, такое когда DWM manager не получает битмап для live preview.
Просто отдать обработку этого сообщения в DefWndProc. Вообще рекомендую почитать MSDN: http://msdn.microsoft.com/en-us/library/windows/desktop/dd938874(v=vs.85).aspx
BEGIN_MESSAGE_MAP.. ON_MESSAGE(WM_DWMSENDICONICTHUMBNAIL, OnDwmSendIconicThumbnail) ON_MESSAGE(WM_DWMSENDICONICLIVEPREVIEWBITMAP, OnDwmSendIconicLivePreviewBitmap)
afx_msg LRESULT OnDwmSendIconicThumbnail(WPARAM, LPARAM); afx_msg LRESULT OnDwmSendIconicLivePreviewBitmap(WPARAM, LPARAM);
return DefWindowProc(WndHandle, WM_DWMSENDICONICLIVEPREVIEWBITMAP, WPARAM, LPARAM);
Никогда не работал с MFC... Если не назначать обработчик для сообщения?По идее, в обработчике для сообщения можно напрямую обратиться к DefWndProc, что-то в духе:Code: [Select] return DefWindowProc(WndHandle, WM_DWMSENDICONICLIVEPREVIEWBITMAP, WPARAM, LPARAM);
Если не секрет - почему не вариант? Что происходит в этом случае?