7

コードに示すように、以下のように初期パスを設定しました。動いていない 。間違いがあれば訂正してください。

   CFileDialog* filedlg = new CFileDialog(TRUE,(LPCTSTR)NULL ,  (LPCTSTR)NULL , OFN_HIDEREADONLY| OFN_ENABLESIZING , (LPCTSTR)NULL , FromHandle (hImgDlg) ,0 , FALSE  );

   filedlg ->m_ofn.lpstrInitialDir = "C:\\" ;

   if ( filedlg ->DoModal() == IDOK )
   {
       /***  do somthing here *****/
   }
4

3 に答える 3

5

OPENFILENAME構造の参照を見ると、lpstrInitialDirフィールドについて次のように述べられていることがわかります。

アプリケーションがまたはダイアログ ボックスをlpstrInitialDir最初に使用したときに渡された値と同じ値である場合、ユーザーが最後に選択したパスが初期ディレクトリとして使用されます。OpenSave As

つまり、このlpstrInitialDirフィールドは、プログラムでダイアログを初めて使用するときにしか使用できません。残りの時間は、ユーザーが最後に選択したディレクトリを使用します。

于 2013-04-23T10:10:05.410 に答える