Tabキーで反転表示取消するには?

解決


マリーナ  2002-10-17 14:45:18  No: 105200  IP: [192.*.*.*]

連続質問ですみません。

反転表示はうまく行きましたが
Tabキーや方向キー(→とか)で反転表示を取り消すことはできますか?
他の言語では自動的に取り消してくれた気がしますが
文字列を一回削除し,もう一回セットっていう方法でもできるとは思いますが
もっといい方法ありませんか?
よろしくお願いします。

編集 削除
かげうら  2002-10-17 15:44:32  No: 105201  IP: [192.*.*.*]

方向キーで反転表示消えませんか?

TABはコントロールが一つだとフォーカスが移動しないので消えないと思いますが。。。
VBのバージョンによってちがうのかな?

TABはKeyPressでKeyAscii = 9のときに
SelLengthを0で消えると思います。

編集 削除
マリーナ  2002-10-17 23:31:21  No: 105202  IP: [192.*.*.*]

かげうらさん:こんばんは!

>TABはKeyPressでKeyAscii = 9のときに
>SelLengthを0で消えると思います。

テキストボックスのKeyPressイベントでKeyAscii = 9って
記述するんですか?
やってみましたができませんでした。
方向キーは反転表示は取り消してくれますがフォーカスを次のオブジェクトに
移りません。

ちなみにバージョンは VB 6.0です。
OSはWin98です。

編集 削除
マリーナ  2002-10-18 11:20:46  No: 105203  IP: [192.*.*.*]

かげうらさん:こんにちは!

  Tabキーは認識できないようです。
  デバックでやってみましたがぜんぜん反応無でした。

編集 削除
t@Ki  2002-10-18 13:25:39  No: 105204  IP: [192.*.*.*]

配置してあるコントロールは一つだけではなく、反転表示されたテキストボックス
上でTabキーもしくは方向キーが押された場合に他のコントロールにフォーカスを
移したいと言うことですか?
それとも単に反転表示を取り消すだけでフォーカスはそのままにしたいのですか?
KeyPressイベントとKeyDownイベントのどちらでもTabキーはきちんと認識してくれます。
ただ方向キーでフォーカス移動をしたい場合はフォーカスを移動する処理を書き込む必要がありますよ。

編集 削除
マリーナ  2002-10-18 16:44:08  No: 105205  IP: [192.*.*.*]

t@Kiさん:こんにちは!

Tabキーが押された場合に反転表示が取り消されると同時に他のコントロールに
フォーカスを移す処理がしたいです。

KeyDownイベントは確認してませんがKeyPressイベントでは認識されませんでした。(デバッグで)

編集 削除
t@Ki  2002-10-18 17:55:43  No: 105206  IP: [192.*.*.*]

すみません訂正です。KeyDown および KeyUpイベントではTabキー押下は認識しません。ヘルプに書いてありました。

>Tabキーが押された場合に反転表示が取り消されると同時に他のコントロールに
>フォーカスを移す処理がしたいです。

とありますが、そういうことならばただ単にTabキーを押下すればデフォルトでそのような処理がされます。
ただ特定のコントロールにフォーカスを移したいのであれば、APIを使ってTabキー押下のメッセージをフックするか、単純にTabIndexを実行中に操作するという
2通りのやり方があります。
わざわざAPIを使う必要もないと思いますので、後者の方法をおすすめします。

編集 削除
あき☆彡  2002-10-18 19:55:21  No: 105207  IP: [192.*.*.*]

Tabキーは移動出来るコントロールがない場合、
又は全てのコントロールのTabStop プロパティがFalseになっている場合のみ
KeyPress、KeyDownのイベントが発生します。


・方向キーはコーディングしなくても選択を解除出来ますね。
・Tabキーでは、、、
  下の”文字列の反転表示”の投稿を見ると
  HideSelection プロパティをFalseに・・・
  と書かれてありますが、HideSelectionをTrueにしておけば、
  フォーカスが失った時に選択は解除されます。
  (Tabでのフォーカス移動では解除したいけど、
    マウス操作でのフォーカス移動では解除しないというのであればダメですが)
・方向キーでもフォーカスを移動したいのであれば、コーディングが必要です。

編集 削除
マリーナ  2002-10-21 11:02:40  No: 105208  IP: [192.*.*.*]

t@Ki さん、あき☆彡 さん:

    こんにちは!
    
    返答ありがとうございました。

    HideSelection プロパティをTrueにしたら
    反転表示も取り消され,フォーカスも他のコントロールに移りました。

    本当にありがとうございました。

編集 削除