0
я добавил стиль LVS_EX_HEADERDRAGDROP, который позволяет пользователям перетаскивать столбцы вокруг:MFC CLisCtrl: Как получить уведомление, когда пользователь переупорядочивает столбцы?
myListControl_.SetView(LVS_REPORT);
myListControl_.SetExtendedStyle(LVS_EX_HEADERDRAGDROP);
Это работает нормально. Однако как мне получить уведомление, когда пользователь изменил порядок столбцов, чтобы сохранить новый порядок?
На самом деле оказывается, есть проблема с этим, потому что в обработчике этого события новый порядок столбец не появляется, чтобы быть доступны еще через 'GetColumnOrderArray' – User
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