tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトルコンボボックスが一瞬開いてすぐ閉じる現象
記事No12076
投稿日: 2008/04/22(Tue) 11:40
投稿者otk
入力欄のロストフォーカス時にコンボボックスのTabStopをTrueとしていますが、
カーソルが入力欄にある状態で、マウスで直接コンボボックスのドロップダウンをすると
一瞬リストが開いて、すぐに閉じてしまいます。

コンボボックスを含む条件欄と入力欄で、フォーカスが当たっているグループ内で
タブ移動(マウスでは自由に移動できる)する為にこういうコードになっています。

VB5.0+WinNTは上手く動いていますが、VB6.0+WinXPは上記の不具合となってしまいます。
何か対応方法はありませんか?

[ツリー表示へ]
タイトルRe: コンボボックスが一瞬開いてすぐ閉じる現象
記事No12089
投稿日: 2008/04/22(Tue) 16:23
投稿者花ちゃん
> 入力欄のロストフォーカス時にコンボボックスのTabStopをTrueとしていますが、
> カーソルが入力欄にある状態で、マウスで直接コンボボックスのドロップダウンをすると
> 一瞬リストが開いて、すぐに閉じてしまいます。

事象を再現できるコードを投稿して下さい。 下記で試した限りでは発生しません。
又、VB6.0 のサービスパックは何が当っていますか?

Option Explicit
Private Sub Combo1_LostFocus()
   Combo1.TabStop = True
End Sub
Private Sub Form_Load()
   Combo1.TabStop = False
   Dim i As Long
   For i = 0 To 20
      Combo1.AddItem i
   Next i
End Sub

[ツリー表示へ]
タイトルRe^2: コンボボックスが一瞬開いてすぐ閉じる現象
記事No12090
投稿日: 2008/04/22(Tue) 16:35
投稿者otk
説明が不十分ですいませんでした。入力欄側でのロストフォーカスです。

Private Sub Form_Load()
    Dim i As Integer
    Combo1.TabStop = False
    Combo1.Clear
    For i = 1 To 20
        Combo1.AddItem i
    Next
End Sub

Private Sub Text1_LostFocus()
    Combo1.TabStop = True
End Sub

[ツリー表示へ]
タイトルRe^3: コンボボックスが一瞬開いてすぐ閉じる現象
記事No12092
投稿日: 2008/04/22(Tue) 17:29
投稿者花ちゃん
> Private Sub Text1_LostFocus()
>     Combo1.TabStop = True
> End Sub
 ↓ では、だめですか?
Private Sub Text1_Validate(Cancel As Boolean)
    Combo1.TabStop = True
End Sub

[ツリー表示へ]
タイトルRe^4: コンボボックスが一瞬開いてすぐ閉じる現象
記事No12094
投稿日: 2008/04/22(Tue) 18:12
投稿者otk
Validateイベントで上手く対応できました!!
ありがとう御座いました。

[ツリー表示へ]
タイトルRe^2: コンボボックスが一瞬開いてすぐ閉じる現象
記事No12091
投稿日: 2008/04/22(Tue) 16:37
投稿者otk
> 又、VB6.0 のサービスパックは何が当っていますか?

SP6(6.0.9782)となっています。

[ツリー表示へ]