プログレスバー表示画面をモードレスで作成してるのですが呼出元フォームを使用できなくするには?

解決


てつ  2002-02-21 16:06:09  No: 75314  IP: [192.*.*.*]

印刷中画面みたいなプログラムを作成中なのですが、印刷中画面が開かれている間その他の画面は使用できないようにするにはどうしたらいいんでしょうか?
フォーム自体のEnabledをFalseにしても閉じるボタン【×】は押せてしまい。エラーが発生してしまいます。
よろしくお願いします。

編集 削除
マザー  2002-02-21 18:29:27  No: 75315  IP: [192.*.*.*]

印刷中の画面だけのプログラムなのでしょうか?
だとすれば納得できるのですが・・・・
印刷中の画面と他の画面が同一のプロジェクトにいるとなると
通常EnabledをFalseにするとコントロールボックスのxは押せないはずなのですが
処理通知だけのDLLを作成しているのであれば
呼び出し画面のハンドルを渡して上げて処理通知画面を
手前に制御するとか出来ますよね。
コントロールボックスを殺してしまうってのは駄目ですか?

編集 削除
Say  2002-02-21 21:25:20  No: 75316  IP: [192.*.*.*]

印刷中画面を最大化して最前面にしたら?
うしろが隠されるのがいやなら、
プログレスバーのまわり以外は
リージョンで透過にすればいいし。

編集 削除
Say  2002-02-21 21:26:55  No: 75317  IP: [192.*.*.*]

そういえば、ただのモーダルでもいいような
気がするけど、それじゃだめ?

編集 削除
てつ  2002-02-22 11:38:27  No: 75318  IP: [192.*.*.*]

ご意見ありがとうございます。
モーダルだと、印刷中画面以外で処理を行っているのでそちらの処理が停止してしまいます。

編集 削除
たかみちえ  URL  2002-02-22 12:16:03  No: 75319  IP: [192.*.*.*]

えーっと…。

  おやウィンドウの×ボタンの処理を見て(QueryUnloadイベントでわかる)
印刷中なら無条件で追い出したらどうでしょうか?

編集 削除
てつ  2002-02-22 13:30:21  No: 75320  IP: [192.*.*.*]

いろいろご意見ありがとうございました。
QueryUnloadイベントで×ボタンを押されたら閉じないようにしました。

編集 削除