XP VS2005 MFCです。
void CcmbDlg::OnCbnSelchangeCombo1()
{
// TODO: ここにコントロール通知ハンドラ コードを追加します。
CString cs1;
combo1.GetWindowText(cs1);
ed1.SetWindowTextA(cs1);
}
上記でエディットボックスに表示はできますが
表示が一つ前で選択されたデータになってしまいます。
1.コンボボックスクリック
2.表示されているB選択
3.ボックスを閉じる→エディットボックスにAと表示
4.コンボボックスクリック
5.表示されているC選択
6.ボックスを閉じる→エディットボックスBと表示
のようにひとつ前の選択されたデータが表示されてしまいます。
どなたかご存知の方がございましたら教えてください。
イベント発生のタイミングでしょうかね。
CBN_SELCHANGイベントが起きた時点ではComboBoxのWindowText(エディットのところ)
はまだ反映されていません。
ですので、GetWindowTextで取得せず、GetCurSelからリストの何番目を選択したのか取
得し、GetLBTextでその文字列を取得するようにします。
void CcombotestDlg::OnCbnSelchangeCombo1()
{
// TODO: ここにコントロール通知ハンドラ コードを追加します。
CString cs1;
const int index = combo1.GetCurSel();
combo1.GetLBText(index, cs1);
ed1.SetWindowText(cs1);}
Blueさん親切に有難うございます。
見事解決しました。
Blueさん親切に有難うございます。
見事解決しました。