コンボボックスの自動選択について – プログラミング – Home

コンボボックスの自動選択について
 
通知
すべてクリア

コンボボックスの自動選択について


mc
 mc
(@mc)
ゲスト
結合: 12年前
投稿: 2
Topic starter  

現在大学でMFCのコンボボックスの勉強をしています。
ドロップダウンリストにした場合、キーボードから文字を入力すると同じ先頭文字のリストが自動
選択されますが、2文字連続で入力すると別の文字が選択されてしまいます。
2文字連続で入力した場合、該当するリストを表示させることは可能でしょうか?
また、自動選択を全くしないというのも作成しようとしてますができません‥
ご教授お願いいたします。


引用解決済
トピックタグ
bun
 bun
(@bun)
ゲスト
結合: 24年前
投稿: 761
 

ごりごり、コーディングしか思いつかない。

CComboBoxの派生クラス作って、DDXでコンボボックスリソースと関連づける。
CComboBoxの派生クラスの方では WM_KEYDOWN のメッセージハンドラ作って、
1文字目が押されたら、先頭文字の一致する最初の行にをSetCurSel ()、
それと同時にタイマー走らせて、タイムアウト前に2文字目が押されたら、
先頭の2文字が一致する最初の行にをSetCurSel ()、
タイムアウトするか一致する行が見つからなかったら、SetCurSel(-1)、
そんな感じ。

実際に試してないので、間違ってたら失礼。


返信引用
mc
 mc
(@mc)
ゲスト
結合: 12年前
投稿: 2
Topic starter  

回答ありがとうございます。
参考にさせていただきます!


返信引用
AR2
 AR2
(@ar2)
Estimable Member
結合: 5年前
投稿: 110
 

bunさんの提示されている方法に近いですが、自前で実装したものがあったので見てみま
した。

CComboBoxの派生クラス作るのまでは同じで、PreTranslateMessageでWM_KEYDOWNを拾
い、全て自前でゴリゴリやってます。
これならタイマー類を使わなくてすみますし、わりとコード量も少なくすみますが、大
量データを処理するのには向いてないですね。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました