Last Updated 2002/05/28
Programming Tips Visual C++ MFC ダイアログ  索 引 
コモンダイアログの表示位置変更
2002/05/28

コモンダイアログの表示位置を変更するにはフック関数にて位置を指定する.
またフック関数を使用するにはエクスプローラータイプのコモンダイアログでなければならない.
// OPENFILENAME 構造体のフック関連の設定
ofn.lpfnHook = HookProc;
ofn.Flags = OFN_ENABLEHOOK | OFN_EXPLORER;


// フック関数
// OFN_EXPLORER タイプでなければならない
UINT CALLBACK HookProc( HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
    if( message == WM_NOTIFY) {
        LPOFNOTIFY lpOfn = (LPOFNOTIFY)lParam;

        switch( lpOfn->hdr.code) {
            case CDN_INITDONE:  // ダイアログの作成時
            	// ここでウィンドウを移動する
            	// ウィンドウハンドルは hDlg ではなく GetParent( hDlg ) である
                break;
        }
    }
    return 0;
}


参照
クラス内コールバック関数
前後のTips
コモンダイアログの表示位置変更

DSS ProgrammingTipsCGI Ver2.02