■ 現在のこのページの役立ち度:
表示されない場合こちらのリンクからもご覧になれます。
■ このページの役立ち度を評価する:
役立ち度を評価してください。
(1(左):あまり役立たない - 5(右):大変役立った):
■ ページの共有:
[ サイト内検索 ]
カスタム検索
#33345-0別フォームでの画面遷移時の不具合jun2000-11-13(月) 12:21
     #33347-0RE#33345:別フォームでの画面遷移時の不具合VB戦士2000-11-13(月) 12:32
     #33353-0RE#33347:別フォームでの画面遷移時の不具合匿名333532000-11-13(月) 13:27
     #33359-0RE#33353:別フォームでの画面遷移時の不具合VB戦士2000-11-13(月) 14:00
     #33363-0RE#33359:別フォームでの画面遷移時の不具合jun2000-11-13(月) 14:14
     #33366-0RE#33363:別フォームでの画面遷移時の不具合VB戦士2000-11-13(月) 15:14
     #33372-0RE#33366:別フォームでの画面遷移時の不具合jun2000-11-13(月) 16:43
#33345-0
別フォームでの画面遷移時の不具合
まず、環境ですが VB5.0 SP3 (WINNT) です。

本題に入りますと、VBでアプリを作っているのですが
別フォームへの画面の遷移時に不具合が出て困っています。
症状は前画面からボタンを押して次画面に飛ぶ際に
フォーカスが他のウィンドウに移ってしまうのです。
(例えばフォームの下にエクスプローラがあった場合
 それが最前面に出てくる。)
その時におかしいのが、次画面のテキストボックスの
カーソルは点滅しているのにフォーカスがないのです。 
キーボードからの入力は受け付けられず、マウスでフォームを
クリックするとその後通常通り入力可能です。

何かわかる方がいらっしゃいましたらよろしくお願いいたします。
#33347-0
RE#33345:別フォームでの画面遷移時の不具合
> まず、環境ですが VB5.0 SP3 (WINNT) です。
> 
> 本題に入りますと、VBでアプリを作っているのですが
> 別フォームへの画面の遷移時に不具合が出て困っています。
> 症状は前画面からボタンを押して次画面に飛ぶ際に
> フォーカスが他のウィンドウに移ってしまうのです。
> (例えばフォームの下にエクスプローラがあった場合
>  それが最前面に出てくる。)
> その時におかしいのが、次画面のテキストボックスの
> カーソルは点滅しているのにフォーカスがないのです。 
> キーボードからの入力は受け付けられず、マウスでフォームを
> クリックするとその後通常通り入力可能です。
> 
> 何かわかる方がいらっしゃいましたらよろしくお願いいたします。

次画面ロード時にこいつを入れてみて下さい。
'フォームをアクティブにします。
Screen.ActiveForm.SetFocus
#33353-0
RE#33347:別フォームでの画面遷移時の不具合
> > まず、環境ですが VB5.0 SP3 (WINNT) です。
> > 
> > 本題に入りますと、VBでアプリを作っているのですが
> > 別フォームへの画面の遷移時に不具合が出て困っています。
> > 症状は前画面からボタンを押して次画面に飛ぶ際に
> > フォーカスが他のウィンドウに移ってしまうのです。
> > (例えばフォームの下にエクスプローラがあった場合
> >  それが最前面に出てくる。)
> > その時におかしいのが、次画面のテキストボックスの
> > カーソルは点滅しているのにフォーカスがないのです。 
> > キーボードからの入力は受け付けられず、マウスでフォームを
> > クリックするとその後通常通り入力可能です。
> > 
> > 何かわかる方がいらっしゃいましたらよろしくお願いいたします。
> 
> 次画面ロード時にこいつを入れてみて下さい。
> 'フォームをアクティブにします。
> Screen.ActiveForm.SetFocus


form load に setforcus って書けなくないですか?
ところで、タスクバーにボタンを表示させるようにしているんですが
上の不具合のでるときはそれも出っ張った状態になってしまいます。
(通常は押した状態になります。)
画面遷移のときにそのボタンがピクピクとアップダウンするのですが
そのあたりの動きってどうなっているのか・・・。
キーバッファとか関係ありますかねぇ。
(フォームの中ではクリアしています。)
#33359-0
RE#33353:別フォームでの画面遷移時の不具合
> form load に setforcus って書けなくないですか?
かけますよ。
<テスト例>
Form1のコマンドボタンクリック時でFrom2.Showした場合。
'フォーム2側のフォームロードイベント。
Private Sub Form2_Load()
    Screen.ActiveForm.SetFocus
End Sub
<試した環境>
Win98,VB5.0,SP3
#33363-0
RE#33359:別フォームでの画面遷移時の不具合
> > form load に setforcus って書けなくないですか?
> かけますよ。

実行時エラー '91':
オブジェクト変数またはWithブロック変数が設定されていません。

と出てしまうのですが・・・。
#33366-0
RE#33363:別フォームでの画面遷移時の不具合
> > > form load に setforcus って書けなくないですか?
> > かけますよ。
> 
> 実行時エラー '91':
> オブジェクト変数またはWithブロック変数が設定されていません。
> 
> と出てしまうのですが・・・。
私の方は実行時エラー出ませんよ。
>form load に setforcus って書けなくないですか?
SetFocusのつづりが違うのでは??<setforcus→SetFocus>
試しに、新規でProjectを立ち上げ、フォームを2つ用意して試してもらえますか?。
フォーム1にはコマンドボタン1を貼りつけてコマンドボタンのイベントに、
Private Sub Command1_Click()
    Form2.Show
    Unload Me
End Sub
と書いて下さい。
フォーム2側のフォームロードに
Private Sub Form_Load()
    Screen.ActiveForm.SetFocus
End Sub
を書いて下さい。
そしたら実行してみて下さい。
実行時エラーは出ないはずです。
#33372-0
RE#33366:別フォームでの画面遷移時の不具合
> 実行時エラーは出ないはずです。

確かに実行できました。
私のプログラムでもShowメソッドを付けることで解決できました。

不具合については相変わらずで、フォーム(別EXE)間を遷移するとき
には何かしら隙間があるような気がします。
このページと関連する記事:
#20358-0フォームをすぐに入力できる状態にしたい。2002-03-25(月) 14:30
#33896-0コントロール配列について2000-11-22(水) 09:31
#31771-0キーバッファをクリアしたい2000-10-16(月) 15:17
#28158-0VBでの平行処理について2000-08-18(金) 11:55
#30563-0フォームの再表示の際のフォーカスについて2000-09-24(日) 15:12
#1692-2駅スパートの文字入力のような前方検索2002-07-15(月) 01:47
#33544-0アクティブレポート使用時の不具合について2000-11-15(水) 21:25
#536-1他のフォームのTextBoxのFocusセット2003-12-19(金) 11:40
#27736-0Form_LoadでのSetFocus2002-03-20(水) 15:41
#29574-0フォームにフォーカスを移すには?2002-06-24(月) 22:18
お探しの情報は見つかりましたか?お困りの問題は解決しましたか?
サイト内検索, 似た記事検索で見つからなくてもあきらめずに掲示板で質問してみましょう。
VB初心者友の会があなたのお役に立てれば幸いです。また、本ページの投稿者の方々にこの場を借りて感謝致します。
本ページは過去ログを集めて自動構成しています。よろしければこのページに関するフィードバックをお願いします。
(※ 構成の誤り、広告等の不適切な記事、リンク切れ、読めないページの報告など)