ホーム ざれごと ワシントン州 ツール 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