重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

Windows2000、VB6.0、ActiveReport2.0で開発をしております。
メニュー画面から処理画面を起動(メニュー画面は開いたまま)し、
処理画面から実行押下にて実行処理&印刷をするプログラムになっています。
印刷はある条件を満たさなかった場合、帳票側でキャンセル処理(Me.Cancel)をしています。
処理が印刷が終わったら(実行処理していても)フォーカスを処理画面のテキストボックスに移動させるようにしています。しかし、印刷がキャンセル処理された場合にフォーカスがどこか行ってしまいます。
何か対処法などありますでしょうか?

A 回答 (3件)

キャンセル後にActiveReportをUnloadして


TextBoxがあるフォームをActiveにしてから
TextBox.SetFocusに出来ますか?

フォームのActive化はフォームのShowメソッド
処理画面.Show
若しくはAppActivateステートメント
AppActivate アプリケーション名

例えば
Unload ActiveReport
処理画面.Show
処理画面.TextBox.SetFocus

若しくは
Unload ActiveRreport
AppActivate 処理画面(アプリ名を処理画面と仮定して)
処理画面.TextBox.SetFocus

この回答への補足

再回答ありがとうございます。

unloadを書く場所が悪かった為、うまくunload出来ていなかったみたいです。
cancelの後にunload meと記述したらフォーカスが正常位置に移動するようになりました。

ありがとうございます^^

補足日時:2006/07/03 11:39
    • good
    • 0

印刷がキャンセルされた後にTextBoxにフォーカスを


移す事は可能ですか(TextBox.SetFocus)
帳票側でキャンセル処理後にSetFocus出来ますか。

この回答への補足

回答ありがとう御座います。
キャンセル処理後にTextBox.SetFocusと書いているのですが、全くフォーカスがTextBoxに移動しません・・・
というよりフォーム自体がアクティブになっていないです。
キャンセル処理後タスクにActiveReport1というのがなぜか残っていて、フォーカスが他に移動すると消えます。

補足日時:2006/07/03 09:25
    • good
    • 0

環境がないので試していませんが。



・印刷の処理を始める前に、フォーカスをテキストボックスに移動しておく。
・印刷処理時、フラグを立てておき、Form_Activeイベントで判定フォーカスを移動。

など、思いつきました。いかがでしょ?
    • good
    • 0
この回答へのお礼

>・印刷の処理を始める前に、フォーカスをテキストボックスに移動しておく。
>・印刷処理時、フラグを立てておき、Form_Activeイベントで判定フォーカスを移動。
どちらもうまくいかないです><
ActiveReportの残骸?みたいなのが残ってしまって、
フォーカスが移動しないです・・・

お礼日時:2006/07/03 09:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!