投稿日 | : 2004/08/03(Tue) 23:41 |
投稿者 | : Numawo |
Eメール | : redwolf_Numao@hotmail.com |
URL | : |
タイトル | : コンボボックスでの↑↓キー |
初めての投稿ですので、不備がありましたらご指摘お願いします。
今回質問させていただく事柄は、以下のことです。
まず環境はVB6(SP5)です。(Win2k)
VB6は専門学校で1ヶ月程度になります(コンボボックス未学習)
コンボボックスが2個あるとします(それぞれCbo1、Cbo2と仮定)
Styleプロパティで2-ドロップダウンリストをそれぞれ選択しています。
フォームロードで適当な項目がそれぞれADDITEMで設定されています。
同じくフォームロードでcbo1はEnabledプロパティがTrue、cbo2はFlaseです。
(最初にcbo1の選択を強制する意図です)
そしてcbo1の項目をマウスクリックで選択するとcbo2のEnabledをTrueにし、
SetFocusでcbo2にフォーカスを移動するようにしたものが以下のコーディングです。
Private Sub cbo1_click()
cbo2.Enabled = True
cbo2.SetFocus
End Sub
あとEnterキーでも同様の動きをさせるため以下のように書きました。
Private Sub cbo1_KeyPress(KeyAscii as Interger)
IF KeyAscii = 13 Then
cbo2.Enabled = True
cbo2.SetFocus
End If
End Sub
これで実際に実行すると、コンボボックスcbo1にフォーカスがある状態で↓や↑を押すと、
項目は移動可能なのですが、Clickイベントが発生するようで、フォーカスがcbo2に移動してしまいます。
これを、Enterキーを押すまでは↑↓キーを押してもフォーカスが移動しないようにするにはどのようにすればよいのでしょうか??
解決策として、フォームのKeyPreviewをTrueにして、処理を奪うこと等考えているのですがうまくいきません。
どうかわかる方がいらっしゃいましたらぜひ、返答お願いいたします。