掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
リストボックスの内容を設定するには(設定はできるのすが、タイミングが・・) (ID:60051)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
みなさんありがとうございます。 説明不足と説明を簡単にしようと省きすぎました。 無駄な手間をとらせてしまいました。ごめんなさい。 コンボボックス1の内容は、コードと得意先名です。 そして、2種類の選択が出来るようにしています。 1.リストから選択する。 2.コードを入力する。 2の場合 [001000 サンプル商店]という得意先があった場合、 [001000][1000]どちらで入力しても、[001000 サンプル商店]が表示されます。 実際のソースは、こんな感じです。 switch (pMsg->message){ case WM_KEYDOWN: CComboBox* pmyComboBox1=(CComboBox*)GetDlgItem(IDC_COMBO_TOKCD); case VK_RETURN: if (::GetParent(pMsg->hwnd) == GetDlgItem(IDC_COMBO_TOKS)->m_hWnd) { toksCheck(); return true; } return true; break; } return false; break; } void CSnshDlg::OnSelendokComboToks() { toksCheck(); } void CSnshDlg::toksCheck() { CString check_toks,a; int nIndex = 0; CComboBox* pmyComboBox1=(CComboBox*)GetDlgItem(IDC_COMBO_TOKS); pmyComboBox1->GetWindowText(check_toks); check_toks.Format(_T("%06d"), _ttoi(check_toks)); check_toks += _T(":"); a = check_toks.GetAt(6); if(a == ":" ){ nIndex = pmyComboBox1->SelectString(-1, check_toks); if(nIndex != CB_ERR){ MeisaiSet(); m_list_meisai.SetFocus(); } } } void CSnshDlg::MeisaiSet() { CString check_toks CComboBox* pmyComboBox1=(CComboBox*)GetDlgItem(IDC_COMBO_TOKS); CListBox* pmyListBox1=(CListBox*)GetDlgItem(IDC_LIST_MEISAI); pmyComboBox1->GetWindowText(check_toks); ////////////////// テキストファイルから条件あう明細のみ、リストボックスにセットする処理 ////////////////// } やりたいことは、 コード入力後にEnterキー入力した時と、リストから選択した時に、 リストボックスに値を設定したいんです。 上のようにやると、コード入力後にEnterキー入力した時はうまく設定されるのですが、 リストから選択した時は、リストボックスに設定されません。 MSDNで[ON_CBN_SELENDOK 項目を選択後、Enter キーを入力するか、下向き矢印をクリックしてコンボ ボックスのリスト ボックスを非表示にしたときに通知されます。]とあったので、 両方いけるかなと思い、このメッセージで処理するようにしました。 こういう場合どのメッセージで処理すれば良いのでしょうか? >タイミングとしては、WM_COMMAND で LBN_SELCHANGE が送られたとき、 これは、[リスト ボックスの選択が変更される直前に送られます。]とMSDNで、 書いてあったのですが、この時に設定するということでしょうか? こっちの方ですか? CBN_SELCHANGE このメッセージも考えたのですが、コードを入力する時 1文字入力するたびに、このメッセージは送られるように思うんですが、 コードを[001000][1000]でも入力出来るようにしてるので、 入力を判定するうまい方法が出てこなくて。 手間をとらせてしまって、すみません。 勘違いして変なことをいっているかもしれませんが、 よろしくお願いします。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.