列の幅はゼロで設定することにより、リストボックスは、列に隠すことができるが、ユーザは、リストボックスのサイズをドラッグ非表示の列、および表示することができます。
私たちは、メッセージ、特別な治療のためのメッセージをキャプチャするためにドラッグして、CListEx継承CListCtrを書くことができます。
:: OnNotify CListEx BOOL(WPARAMのwParam、LPARAM lParamに、LRESULT * PRESULT) { HD_NOTIFY * PhDN =(HD_NOTIFY * )lParamに、 スイッチ(((NMHDR *)のlParam) - > コード) { ケース HDN_BEGINTRACKWは:// ドラッグ ケースHDN_BEGINTRACKA : // セットは、列の値を変更したくない IF(pHDN-> == iItem m_icolLock) { * PRESULT = TRUE; 返すTRUE; } BREAKを; } 返し、CListCtrlの::(wParamに、lParamに、PRESULT)OnNotifyを }
// 列非表示に設定 空隙 CListEx :: LockColoum(int型の列) { m_icolLock = カラム; }
ヘッダファイルを追加します。
仮想 BOOL OnNotify(WPARAM wParamに、LPARAM lParamに、LRESULT * PRESULT)。