タイトル : Re^4: msgboxの閉じるボタンを非表示にしたい 投稿日 : 2011/01/22(Sat) 19:36 投稿者 : ユウハク
返信遅くなりました。 ご連絡ありがとうございます。 下記に回答させていただきます。 > > http://www.gizcollabo.jp/vbtomo/log/archive/vbqanda2_617_3.html > 上記は、非表示(削除)ではなくグレイアウトにして無効にしているかと思うのですが? > 最初にも書いたように理由やどのようにしたいのかをハッキリ言って頂かないと、試して > 回答しても違うと何もならないし。方法も当然違ってくるし。又下記のような事もあるし > http://okwave.jp/qa/q2776718.html 上記は「閉じる」ボタンを無効するプログラムなんですね。 「閉じる」を非表示にしたいので意味なかったです。 > > 上記調べた限りでは認識しております。 > > ですが、以前作成済みのプログラムを使用しており、 > > 毎回MsgBox()を呼んでいたため、修正量が多くなってしまいます。 > > できればフォームの新規作成はしたくないです。 > 上記でも書いておられたように特別な理由がなければ、現状のメッセージボックスを > 使っても問題がないかと思うのですが? どこか問題でもあるのでしょうか? 顧客要望でほかに納品しているプログラムはフォームを使っていて「閉じる」ボタンはありませんでした。そのため、統一してほしいとのことでした。 > > > 上記の説明はMsgBoxに対してでしょうか?フォームに対してでしょうか? > 試した結果の画像をリンクしておいたはずですが > http://www.hanatyan.sakura.ne.jp/samplepic/myMsgBox.gif 上記ですよね。ありがとうございます。上記のようにしたいです。 ただそのやり方もこのページにあればうれしかったのですが、、(欲張りですいません。) > > >毎回MsgBox()を呼んでいたため、修正量が多くなってしまいます。 > >できればフォームの新規作成はしたくないです。 > フォーム等を使って作った方が早いし簡単だからどこの回答でもそのような回答になって > いるのであって、現状のメッセージボックスを書き換えた方が早くできるなら試して > 見て下さい。 確かにそうですね。 > > MsgBoxに対してスタイルの変更でできる方法があれば教えてください。 > メッセージボックスのウィンドウのハンドルを取得して、GetWindowLong で現在の > ウィンドスタイルを取得して、変更したいウィンドスタイルに書き換え SetWindowLong で > ウィンドウのスタイルを設定してやればウィンドウのハンドルをもっているコントロールや > フォームの形を変更する事ができます。 > http://hanatyan.sakura.ne.jp/samplepic/vb6_151.htm > > 但し、Win32 API関数の知識がないとチョットやっかいかも知れません。VB2005 あたりで > メッセージボックスを拡張しているようなサンプルは見当たらなかったし時間かけてやる > ような事でもないのかもしれません。(だからサンプルも見つからない) > まずは、先にリンクしておいたサイトのフォームの閉じるボタンの無効化からやって > みてはどうでしょうか? > http://www.atmarkit.co.jp/fdotnet/dotnettips/467wndproc/wndproc.html 結局今回は簡単ではないことを顧客に説明して現状維持としました。 フォームでの「閉じる」の削除はできることを確認しました。 時間ができたらMegboxのスタイル変更に挑戦しようと思います。 今回初めて投稿させていただきましたが、説明不足で分かりにくく失礼しました。 また、機会がありましたら、教えていただきたいと思います。 |