開発環境 W2K(SP2) VC6.0(SP5) MFC
リスト(レポート)ビューで、ヘッダのディバイダドラッグを
禁止するようにしたいと思っています。
Web上等でいろいろ調べた結果、CListCtrlクラスの派生クラス
を作成し、HDN_BEGINTRACKをハンドリングすることで実現でき
る、とあったので実際やってみたのですが、うまくいきません。
やっている処理は以下の通りです。
-------------------------------------------------------------------
void CTestView::OnInitialUpdate()
{
CListView::OnInitialUpdate();
/* m_List - CListCtrlの派生クラス(CMyListCtrl) */
m_List.SubclassDlgItem( 0, this );
CListCtrl& List = GetListCtrl();
List.ModifyStyle( 0, LVS_REPORT );
List.InsertColumn( 0, test1);
List.InsertColumn( 1, test2);
List.InsertColumn( 2, test3);
}
void CMyListCtrl::OnBegintrack(NMHDR* pNMHDR, LRESULT* pResult)
{
HD_NOTIFY *phdn = (HD_NOTIFY *) pNMHDR;
*pResult = 1; // ドラッグ禁止
}
-------------------------------------------------------------------
どこかおかしな点があるのでしょうか?
ちなみにOnBegintrack()内にブレイクを張ったのですが、止まりません
でした。。イベントがきていないのでしょうか。。
ご存知の方、どうかご教授お願いいたします。
すいません。。以下のSubclassDlgItem()が失敗してました。。
> /* m_List - CListCtrlの派生クラス(CMyListCtrl) */
> m_List.SubclassDlgItem( 0, this );
エラーチェックし忘れていました。。
もう少し、勉強します。。
質問を継続するつもりが無いのでしたら解決にして下さい。
放置していると取られますよ。