2017-03-25 17 views
1

私は簡単な編集可能なコンボボックスをダイアログに表示しています。編集可能なコンボのテキスト値を更新する際の問題

ドロップリストにはいくつかの定義済みテキスト値があります。これらのエントリの一つは次のとおりです。

"Test 123" 

コンボボックスはCString変数m_strNotesにマッピングされています。

私はこれを行う場合:

m_strNotes = _T("Test"); 
UpdateData(FALSE); 

を私はコンボボックスを選択し、「テスト123」で終わることがわかります!

代わりにと、m_strNotes変数を使用するバイパスの種類を使用する必要があります。

なぜこれを行う必要がありますか? CComboBoxは編集可能なので、テキストはドロップリストにある必要はありません。だから私が前者の方法を使うと、それは単に編集テキストを設定するだけで、ドロップリストデータに適切な一致を見つけようとしないのですか?

答えて

2

これは、DDX_CBStringで得られる予想される動作で、選択肢のプレフィックス文字列を比較します。むしろ正確な一致のためにDDX_CBStringExactを使用してください。

+0

Wicked!それを知らなかった。私はこれをClassWizardで調整することはできず、コードを手動で調整する必要があると仮定します。 –

関連する問題