リストビュー上の右クリック検知について

[戻る]
おはし 2008/12/09(火) 00:41:46
MFCでSDIの3ペイン(Outlookのような)アプリを作成しております。
その中でリストビューがあるのですが、リストビュー上での右クリックの検知方法がわ
かりません。
ON_NOTIFY()を使用しても、ダイアログベースではないため、第2引数コントロールIDが
割り当てられず使用できません。ツリービューであれば、CWnd::OnRButtonDown()で検知
可能ですが、リストビューでは検知できません。
MFCを利用して、リストビュー上で簡単に右クリックを検知する方法をご教授願います。

環境:Windows XP、VS 2003

Blue 2008/12/09(火) 01:10:16
> ツリービューであれば、CWnd::OnRButtonDown()で検知
> 可能ですが、リストビューでは検知できません。
CListViewの派生クラスでも検知できますよ。

もしくは OnContextMenuとか。

おはし 2008/12/09(火) 23:42:10
[[解決]]
右クリックだけではないのでPreTranslateMessageを使用することにしました。

SH 2008/12/23(火) 15:23:22
VC++ 2005、MFCです。

ドロップダウン形式のコンボボックスを置き、
CBN_SELCHANGEのハンドラ内で

void CTestDlg::OnSelchangeCombo()
{
    m_combo.SetWindowText(_T("SetWindowText"));
}

と、テストルーチンを入れてみたのですが、
選択した項目のほうがそのまま表示されてしまいます。

項目自体には「名字」「名前」などの一般名詞を選択肢として入れておき、
選択された項目を元に実際に表示するテキストを入れたいのですが、
CBN_SELCHANGE内ではSetWindowText()は使えないものなのでしょうか?

古いスレッドには追加発言できません。