ホーム
| アプリケーション | Tips | ダウンロード | プログラム
| コラム

CBアプリ工房


Tips

フォルダ選択ダイアログを拡張する 

更新 : 2010/06/04

 



解説:
フォルダが選べるダイアログは、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;

    (省略)

}
//-------------------------------------------------------------------



[ ホーム | ページトップ | ブック | リンク | サイトマップ ]
Copyright(c) 2003 Shibu All rights reserved.