Я кодирую приложение MFC, в котором у меня есть диалоговое окно с несколькими CListCtrls в представлении отчета. Я хочу, чтобы один из них был сортируемым.
Поэтому я обработал событие HDM_ITEMCLICK, и все работает просто отлично. За исключением того, что если я нажимаю на заголовки другого CListCtrl, он сортирует OTHER CListCtrl, который выглядит довольно глупо.
Это, очевидно, связано с тем, что заголовки имеют идентификатор 0, что делает запись в карте сообщений такой:
ON_NOTIFY(HDN_ITEMCLICK, 0, &Ccreationprogramme::OnHdnItemclickList5)
Но поскольку все заголовки имеют нулевой идентификатор, очевидно, каждый заголовок моего диалога отправляет сообщение.
Есть ли простой способ обойти эту проблему?
РЕДАКТИРОВАТЬ: Может быть, я не ясно, но я проверил значения внутри структуры NMHDR. Указатель HwndFrom отличается в зависимости от того, по какому заголовку щелкают, что мне мало помогает, поскольку его значение, очевидно, отличается в каждой среде выполнения. Значение idFrom равно 0, по причинам, которые я объяснил выше, потому что это идентификатор каждого заголовка. Спасибо
EDIT2: значения указателя hwnd также не соответствуют CListCtrl, возможно, потому, что он полностью исходит из другого объекта.