フォームがフラッシュするのはなぜ?

解決


Riz  2002-12-20 16:24:44  No: 76718  IP: [192.*.*.*]

VB6+Win2Kで開発をしています。

あるVBで作った実行ファイルから、
あるVBで作った実行ファイルを呼び出した際に、
呼び出された画面がフラッシュ状態になり、タイトルバーが点滅します。
このフラッシュを起こさないような方法はありますでしょうか?
もしくは、フラッシュがどのような状況で起きるのか教えてください。
実行ファイルによってはフラッシュしないものも有り、
その原因がわからなくて悩んでいます。

編集 削除
かげうら  2002-12-24 09:21:20  No: 76719  IP: [192.*.*.*]

SendKeys ステートメントを
呼び出された実行ファイル側いれてみてください。

もしかしたらそれでフラッシュなくなるかも。

編集 削除
Riz  2002-12-25 09:00:44  No: 76720  IP: [192.*.*.*]

かげうら様ありがとうございます。

色々試した結果、出無くなりました。
一応、結果を報告致します。

原因は呼び出した側のプログラムにあり、
そのプログラムではForm_Load時に以下のようなコードを書いていました。
-----
'frmMainのフォームロード
Private Sub Form_Load()

  Load frmSplash        'スプラッシュ画面表示
  frmSplash.Show
  DoEvents

〜中略(DB処理など)〜

  frmSplash.Hide        'スプラッシュ画面閉じる
  Unload frmSplash

  frmMain.Show          'メイン画面表示

End Sub
-----
どうやらスプラッシュ画面を閉じてから
メインの画面を開いたために起こったようでした。
うまくフォーカスが移っていないのかな、というところでしょうか。

結局スプラッシュ画面を閉じる前にメイン画面を表示することで、
回避しました、できました。

かげうら様案のSendKeysは結局試せませんでしたが、
強制的にフォーカスを移そうという意味合いなのでしょうか。

ともかく、解決しましたので、報告させて頂きます。

編集 削除
かげうら  2002-12-25 10:56:23  No: 76721  IP: [192.*.*.*]

うーーんと多分原因が違うためSendKeysでは無理かも、、
こちらで起きた理由はとあるOCX(昔のことで何か忘れました)を
使って起きたので、

98とNTでは正常に動いていたのが2000では動かなかったような。。
SendKeys入れたら動くようになったような。。。


解決できているので、参考程度に追記でした。

編集 削除