|
||
解説: フォルダが選べるダイアログは、Win32API の SHBrowseForFolder 関数を使って表示できます。 SHBrowseForFolder 関数は、引数にダイアログボックスの表示情報を格納した BROWSEINFO 構造体のアドレスを指定します。 構造体には、オプションフラグがあって、shell32.dll のバージョンが Version 5.0 以上(Windows Me/2000 以降か、IE5 以降)であれば、アイテム名が書き込めるエディットコントロールを表示したり、フォルダとファイルを表示、などの拡張機能が使えます。 ここでは、その中から [新しいフォルダの作成] ボタン追加して、ダイアログをリサイズできるようにしてみます。 使用例: 拡張した、フォルダ選択ダイアログを表示しています。 [新しいフォルダの作成] ボタンが追加され、ユーザによるダイアログのリサイズが可能になっています。 コンポーネントは、 Button と Label を適当に配置して終わりです。 コードは Button1 の OnClick で BROWSEINFO 構造体に新しいユーザーインターフェースを 使用するフラグを指定します。 フラグの前後には、コードが必要ですが、以前記述したTips の繰り返しになりますので、省いてあります。 他にも多くのオプションフラグが用意されていますので、試してみてください。 //------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { (省略) // 新しいユーザーインターフェースを使用します。 // [新しいフォルダの作成] ボタン追加。 // ユーザによるダイアログリサイズ可。 info.ulFlags = 0x0040; (省略) } //------------------------------------------------------------------- |