• ベストアンサー

フォーカスがどこか行ってしまう

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

質問者が選んだベストアンサー

  • ベストアンサー
noname#185804
noname#185804
回答No.3

キャンセル後にActiveReportをUnloadして TextBoxがあるフォームをActiveにしてから TextBox.SetFocusに出来ますか? フォームのActive化はフォームのShowメソッド 処理画面.Show 若しくはAppActivateステートメント AppActivate アプリケーション名 例えば Unload ActiveReport 処理画面.Show 処理画面.TextBox.SetFocus 若しくは Unload ActiveRreport AppActivate 処理画面(アプリ名を処理画面と仮定して) 処理画面.TextBox.SetFocus

unchiku777
質問者

補足

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

その他の回答 (2)

noname#185804
noname#185804
回答No.2

印刷がキャンセルされた後にTextBoxにフォーカスを 移す事は可能ですか(TextBox.SetFocus) 帳票側でキャンセル処理後にSetFocus出来ますか。

unchiku777
質問者

補足

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

  • Kuppycat
  • ベストアンサー率50% (109/216)
回答No.1

環境がないので試していませんが。 ・印刷の処理を始める前に、フォーカスをテキストボックスに移動しておく。 ・印刷処理時、フラグを立てておき、Form_Activeイベントで判定フォーカスを移動。 など、思いつきました。いかがでしょ?

unchiku777
質問者

お礼

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

関連するQ&A

  • どこにもフォーカスを当てたくない

    フォームを開いたとき、どこにもフォーカスを当てたくないです。 アクセス2003です。 フォームにテキストボックスを1つ設置して、そのフォームを開くと フォーカスがテキストボックス上で、点滅しますが どこにもフォーカスを当てない方法あるのでしょうか? Private Sub Form_Open(Cancel As Integer) Me.詳細.SetFocus End Sub とするとコンパイルエラーになってしまいます。 不可能でしょうか?よろしくお願い致します。

  • ASP.NET 動的コントロールのフォーカス移動

    ASP.NET(VB)で開発しています。 Page_init時に生成されるテキストボックス1、2(動的コントロール)を表示します。 テキストボックス1のテキストチェンジイベント時に テキストボックス2にフォーカスが移動するようにしたいです。 テキストチェンジでPostBackが発生し、サーバ側でテキストボックス2.Focus() と記述しているのですが、動作は、テキストボックス2に フォーカスが移らず、画面上のどこにもフォーカスがあたっていない状態になってしまいます。 動的コントロールへ、PostBack時にフォーカス移動させるにはどうしたら良いか お願いいたします。

  • イベントのキャンセル

    VS2005standardのVB.NETで開発しています。 質問: テキストフィールドからフォーカスアウトした瞬間に形式チェックロジックを走らせていますが、画面の右下に設置した「キャンセルボタン」を押下するタイミングでフォーカスアウトしたら、イベントをキャンセルしたい 要するにキャンセルして画面を閉じたいのに、フィールドの入力形式がが違うとエラーが出るので、うっとうしいのです。 こういう場合の簡単な対応方法ってありますか? お教えください。

  • フォーカスのあるコントロール

    こんにちわ。 いまVB6.0 SP5で開発しています。 ソースをステップ実行しながら, その都度,どのコントロールにフォーカスがあたっているかを 参照するコマンド,メソッドはありますか? 教えてください。

  • ExcelVBA フォーカスの移動

    Excel2003を使用しています。 シートに画面を作成したのですが 1点ちょっとわからないことがあります。 例えばある項目(セル)にフォーカスがある状態で 「Enterキー」を押下したとします。 そこで特定のセルにフォーカスを移動させることは 可能なのでしょうか?。 VB6だと指定出来たような気がしたのですが・・ すみませんがアドバイスお願いします。

  • ActiveReportでデータが0件の場合・・・

    VB6、ActiveReport2.0を使用しています。 フォームのボタンが押下された時に、帳票を発行するプログラムを作成しています。 rptXXX.PrintReport Falseにて印刷しているのですが、 表示するデータはrptXXXのActiveReport_DataInitializeでSQLを作成し、DataControlのSourceに渡してます。 このSQLを作成した時データが0件ならレポートの印刷をしないようにしたいのですが、記述の仕方がわかりません。 お分かりになる方いましたらアドバイスお願いします。

  • 初期フォーカスについて

    VBを勉強し始めた者です。 VBで画面を作成し、テキストボックスをいくつか作成した際、初期フォーカスをそのテキスト1に合わせたいときはどのようにすればよろしいでしょうか??? 簡単なことだと思いますが、どなたかご教授のほうよろしくお願いします。

  • サブフォームのテキストボックスにフォーカスを戻す

    Access2010です。 メインフォームにいくつかのテキストボックスやコンボボックスと「登録」ボタンがあり、メインフォームの中には帳票形式のサブフォームがあります。 サブフォームには ・数量 ・単価 ・金額 のテキストボックスがあります。 フォーカスがサブフォームのいずれかのテキストボックスにある状態で、「登録」ボタンをクリックするとYES/NOボタンがある確認画面が表示されます。 そこでNOを選択した場合に、直前までフォーカスがあったサブフォームのテキストボックスへフォーカスを戻すにはどうしたら良いでしょうか?

  • コントロールのフォーカスが横取りされた場合の対応

    VC++(6.0)/MFCにてアプリを開発しています。 メイン画面上にリストボックス・リストビュー・ボタンの各コントロールを配置し、 ユーザがいつでも操作できるようになっています。 そこで、ユーザがリストボックス等をマウスにてスクロール中に、バックグラウンド 処理でモーダルダイアログを表示すると、マウスダウン中に突然フォーカスが失われ るため操作中のコントロールに対しマウスアップメッセージが送信されずモーダルダ イアログ側へフォーカスが強制的に移動してしまいます。 操作中のコントロールは、マウスアップイベントが送信されていないため、奇妙な動 きをするようになります。 この場合、画面上の全てのコントロールに適応可能な「フォーカスが失われたよ」的 な処理を実装したいのですが、どのようにすればよいのでしょうか。 現在は、コントロール単位でオーバーライドしてLostFocus等で処理しています。 よろしくお願いします。

  • VB6でActiveReport1.5Jを使って2列印字を実現するには

    初めまして!開発におきまして、以下の経験を されている方がおられましたらご指導をお願い 致します。又、実現可能な案がありましたら ご意見をお願いいたします。 今回、ActiveReportでしたい事ですが、 ------------------   -------------------  |項目A|項目B|項目C|    |項目A|項目B|項目C| ------------------   -------------------     ・               ・     ・               ・     ・               ・     ・               ・     ・               ・     ・               ・ このような帳票イメージ(2列)でデータを 印字し出力したいと思っております。 1ページの明細行は固定にします。 上記のような帳票を出力するにはどういった 処理をVB側、ActiveReport側でしてやらないと いけないのでしょうか?ActiveReportの プロパティを使って出来るものなのでしょうか? お手数ですがご指導を宜しくお願いいたします。

専門家に質問してみよう