[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2004/12/16(Thu) 17:06
投稿者名:お菓子
Eメール:
URL :
タイトル:
Form_Load での setFocus のエラーについて
はじめまして。最近VBを使うことがありこちらを参考にさせていただいてます。

早速ですが、Form での setFocus のエラーについて質問させてください。
WinXP、VB6.0を使用しています。

Form_Load で テキストフィールドに setFocus を設定し実行したところ
「実行時エラー '5' プロシージャの呼び出し、または引数が不正です。」
とエラーが出てしまうのです。
テキストフィールドの visible が false になっているためこれがエラーの原因だと思い
visible を true に設定してみたのですが true になりませんでした。

いろいろ調べてみるとWinXPのバグのようで下記のURLにあるように
VBの互換モードをWindows 2000して実行してみましたが
かわらず上記のエラーが出てしまいます。
hhttp://support.microsoft.com/default.aspx?scid=kb;ja;811469

Form_Load で setFocus を使用するための回避策はないでしょうか?
わかりにくい文章かもしれませんが、よろしくお願いします。

投稿時間:2004/12/16(Thu) 17:17
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: Form_Load での setFocus のエラーについて
下記のようにフォームを表示してからSetFocusして見て下さい。

Private Sub Form_Load()
    Me.Show
    Text2.SetFocus
End Sub

投稿時間:2004/12/16(Thu) 17:46
投稿者名:お菓子
Eメール:
URL :
タイトル:
解決しました
> 下記のようにフォームを表示してからSetFocusして見て下さい。
>
> Private Sub Form_Load()
>     Me.Show
>     Text2.SetFocus
> End Sub

花ちゃんさん、ありがとうございます。
エラーが出ませんでした!

nanashiさんもありがとうございました。

投稿時間:2004/12/16(Thu) 17:39
投稿者名:nanashi
Eメール:
URL :
タイトル:
Re: Form_Load での setFocus のエラーについて
> Form_Load で setFocus を使用するための回避策はないでしょうか?

Formが表示されていない間はSetFocusメソッドはエラーになります。
でもSetFocusAPIを使用すればエラーも起こらずちゃんとSetFocus出来ます。