2012-05-12 14 views
0

私は、ユーザーが周りに列をドラッグすることができますLVS_EX_HEADERDRAGDROPスタイルを追加しました:MFC CLisCtrl:ユーザーが列を並べ替えたときに通知を受け取るにはどうすればよいですか?

myListControl_.SetView(LVS_REPORT); 
myListControl_.SetExtendedStyle(LVS_EX_HEADERDRAGDROP); 

これが正常に動作しています。ただし、ユーザーが列の並べ替えを行ったときに通知を受けて、新しい注文を保存できるようにするにはどうすればよいですか?

答えて

2
ON_NOTIFY_EX(HDN_ENDDRAG, 0, OnHeaderEndDragMethod) 

Header_GetOrderArray

+0

このイベントのハンドラで新しい列の順序は 'GetColumnOrderArray' – User

+1

DLを経由して、まだ[コードプロジェクトからプロジェクト利用可能であるようには見えないので、実際にはこれに問題がある判明:列を表示および非表示にできるCListCtrl](http://www.codeproject.com/Articles/28787/CListCtrl-Which-Can-Show-and-Hide-Columns) CListCtrl_Column_Picker :: OnHeaderEndDragメソッドを調べると、pNMH-> pitem-> iOrderがドラッグされた列の新しい位置番号を与えることがわかります。 HDN_BEGINDRAGのイベントリスナーを追加して列の元の位置を取得し、列の順序を変更することができます。 – WithMetta

関連する問題