コントロールの判別

[戻る]
雪だるま 2007/01/10(水) 21:56:38
MFC,VC++6.0,WinXP,ダイアログベースで作成しています。

ダイアログ上にある二つのリストコントロール(レポート形式)のヘッダの幅を操作し
たときのHDN_ENDTRACKを拾うメッセージハンドラ関数OnEndTrack(NMHDR* 
pNMHDR,LRESULT* pResult)を作りました。
ヘッダの幅を操作したあと、リストのセルの背景色をもう一度描画する処理を行いたい
と思います。二つのリストコントロールの処理はそれぞれ微妙に違うので、OnEndTrack
関数の中でHDN_ENDTRACKを送ったリストコントロールを判別したいのですが、その方法
が調べてみても分かりません。メッセージ自体を送ったヘッダのIDはどちらのリスト
でも0なので、判別のしようもなく・・・・・・・。

ご教授お願いします。

瀬戸っぷ [E-Mail] 2007/01/11(木) 00:43:38
> ヘッダの幅を操作したあと、リストのセルの背景色をもう一度描画する処理を行いたい
> と思います。二つのリストコントロールの処理はそれぞれ微妙に違うので、OnEndTrack
> 関数の中でHDN_ENDTRACKを送ったリストコントロールを判別したいのですが、その方法
> が調べてみても分かりません。メッセージ自体を送ったヘッダのIDはどちらのリスト
> でも0なので、判別のしようもなく・・・・・・・。

pNMHDR->hwndFromで判別できませんか?

雪だるま 2007/01/11(木) 22:05:24
[[解決]]
if(pNMHDR->hwndForm == m_listctrl.GetHeaderCtrl()->GetSafeHwnd())


で判別できました。

ありがとうございました。

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