メッセージボックスの位置指定

解決


まークン  2007-12-20 04:39:00  No: 138458

2個のモニターを使うマルチディスプレーでプライマリーディスプレーで数値入力したり計算したりする操作をし、セカンダリーには客だけが見れるように計画しています。Form1をプライマリーに表示させてForm2をセカンダリーに表示するためにForm2.Move Screen.Width,0 のように配置して通常の操作は問題ないのですがメッセージボックスがセカンダリーに表示されて困っています。メッセージボックスを確実に左側(Form1上)に出るようにする方法はあるのでしょうか?  よろしくお願いします。(VB6使用)


ぺがらぼ  URL  2007-12-20 21:51:14  No: 138459

標準のメッセージボックスでは制御がなかなか難しいこともあるので、簡単な方法としては、メッセージボックス用のダイアログボックスを作ってしまうことかもしれませんね。


まークン  2007-12-20 22:23:41  No: 138460

べがらぼ様、回等をありがとうございました。
ご指摘の通りダイアログボックスを作ってしまうのはあれこれ考えているより確実なのでVbYesNo, VbYesNoCancelなど数種類のスタイルに対応するものを作りました。メッセージボックスの性格上モーダルで開きたいのですがモーダルなFormが開いている時にこれを使いたい場合はどうしようかとも考えています。たまたま今回の場合はモードレスのFormばかりでしたのでとりあえずこれOKなので解決にチェックを入れました。しかし今後このFormを使い回しするとなるとモーダルなFormからこのMyMsgBoxをモーダルに開きたい場合はどうしたらよいかが今後の課題です。何かアイデアがありましたらお知恵をお貸しください。ありがとうございました。


ima  2007-12-24 06:19:29  No: 138461

参考リンクのみですが・・・

http://vbnet.mvps.org/index.html?code/internet/deleteurlcache.htm

SetWindowsHookExを使用して位置変更しているので、エラー処理など
慎重にしてください。


通ってみた  2007-12-24 08:01:17  No: 138462

ダイアログのFormを開く前に、Me.Enabled = Falseにしてしまうというのはどうでしょうか

ダイアログのFormのUnload時にEnableをTrueに戻せばよいかと


まークン  2008-01-11 20:58:33  No: 138463

ima様、通ってみた様、回答をいただきありがとうございました。
最初は自前のFormを準備してつくりましたがFormを開く前に、Me.Enabled = Falseにすることで解決できましたので作成した自前のFormを解放し、シンプルにすることができました。遅くなりましたがお礼まで。


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

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






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