ホーム ざれごと ワシントン州 ツール NT豆知識 Win32プログラミングノート 私的用語 ジョーク いろいろ ゲーム雑記 Favorites 掲示板 Mail
ということで、MFCアプリケーションでは、CMainFrameクラスで ON_WM_DEVICECHANGE() を実装し、さらにメッセージルーティングもどきの処理を行う必要があります。 例えば、次のようになるでしょう。
BOOL CMainFrame::OnDeviceChange(UINT nEventType, DWORD dwData) { // デバイスに変更があった const MSG* msg = GetCurrentMessage(); GetActiveView()->SendMessage(msg->message, msg->wParam, msg->lParam); BOOL r = CFrameWnd::OnDeviceChange(nEventType, dwData); return r; }言うまでもありませんが、上記の例では、ビューにも ON_WM_DEVICECHAGE() を実装する必要があります。
上記はSDIの例ですが、 MDIの場合ならば、さらにGetActiveFrame()を呼び出し、結果がNULLかどうかを調べてから GetActiveView()なりGetActiveDocument()なりを呼び出す必要があります。蛇足ですね(^_^;。
ホーム ざれごと ワシントン州 ツール NT豆知識 Win32プログラミングノート 私的用語 ジョーク いろいろ ゲーム雑記 Favorites 掲示板 Mail