wxWidgets は楽しいです。今、仕事で作るツールはほとんどこのフレームワークを使って作っています。
その中で wxDirPickerCtrl というクラスがあるのですが、ディレクトリ入力用のテキストボックスと参照ボタンがセットになっているのでものすごく便利です。
ところが普通に配置すると、参照ボタンのラベル名が Browse になってしまってちょっと悲しい。ドキュメントを見た感じだと変更方法は乗っておらず、検索してみたら海外のサイトで「'Browse'をハードコーディングしているのはまずくね?」というようなやりとりがあるだけでした。(もっと探せばあったかもしれないけど、途中であきらめました)
パッチでも当てようかな~と思ってソースを眺めていたら ボタンコントロールのクラスを取得して変更しちゃえばいいんじゃね?ということに気づいて、やってみたら変更できましたよ。
wxDirPickerCtrl *p = new wxDirPickerCtrl( 親のコントロール, wxID_ANY, ディフォルトパス, 説明 ); p->GetPickerCtrl()->SetLabel( wxT("参照") );
こんな感じで。ちなみに、wxFilePickerCtrl() も同じように出来ます。
GetPickerCtrl() はドキュメントに載っていないメソッドなので、そのうちなくなるかもしれないけど、2.8.9 では残っていました。
でも、wxWidgets はあまり流行ってくれないなぁ。MFC より楽しいのにw
日本語ドキュメントが少ないのも原因なのかな?
コメントを投稿する