コマンドボタンに名前をつける


モナー  2004-08-12 20:59:08  No: 85108

メッセージボックスを表示させる際に
OKボタンのみ、OKボタンとキャンセルボタン、無視ボタン、
はい、いいえボタンなど表示させるパターンを選択できますが、
ボタンに指定したテキストを表示させることは可能でしょうか?

「あとで処理する」という名前のボタンや、
「〇〇は保存しない」など、関数内でメッセージボックス表示時に
ボタンのテキストを設定してみたいと思ってます。

ヘルプでみたところ無理そうなのですが、やはり無理でしょうか?


りっとっと  2004-08-12 21:18:36  No: 85109

まあ、一応できます。
こうやればできるかなという手順を書くと
1.メッセージボックスのウィンドウハンドルを取得。
2.取得したウィンドウハンドルを元にEnumChildWindowsで子の
    ウィンドウハンドルを列挙。
3.列挙したウィンドウハンドルを元にそれぞれのウィンドウテキストを
    取得し、コマンドボタンを特定。
4.特定したウィンドウハンドルにSetWindowTextでキャプションを変更
5.必要に応じてSetWindowPosなどでメッセージボックスのウィンドウの
    サイズ及びコマンドボタンのウィンドウサイズを変更
という感じとなります。
しかし、はっきりいって自分でメッセージボックスに似たフォームを作成
してそれを表示するほうがはるかに簡単です。


かきもち  2004-08-12 23:07:59  No: 85110

そういうサンプルがここにありますね。
http://vbnet.mvps.org/index.html?code/hooks/messageboxhook.htm


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加