フォルダ選択ダイアログの起動時に選択されている初期フォルダを指定するには、コールバーク関数内でメッセージ BFFM_INITIALIZED を処理する。 フォルダ選択ダイアログで初期フォルダを指定する例// 呼び出し側 // メンバ lpfn にコールバーク関数を指定し、 // メンバ lParam には選択するフォルダのパスを指定する。 BROWSEINFO bi; bi.lpfn = BrowseCallbackProc; // コールバーク関数 bi.lParam = (LPARAM)path; // 初期フォルダ …… 省略 …… SHBrowseForFolder( &bi ); // コールバーク関数 static int CALLBACK BrowseCallbackProc( HWND hWnd, UINT uMsg, LPARAM lParam, LPARAM lpData ) { // フォルダ選択ダイアログの初期化 if ( (BFFM_INITIALIZED == uMsg) && lpData ) { SendMessage( hWnd, BFFM_SETSELECTION, TRUE, lpData ); } …… 省略 …… return 0; }//BrowseCallbackProc | |