|
Автор
|
Тема: ListView
|
|
arty |
опубликован 15-02-2002 11:49 MSK
Привет! Никто не знает, какое сообщение приходит от ListView, когда юзер изменяет размеры столбца - либо двойной клик по хедеру столбца, тогда ширина столбца автоматически = длине самой длинной строки в столбце; либо перетаскивание границы хедера при помощи мыши, когда курсор мышки меняется на <-|-> Хелп, плз.
|
|
ADK
|
опубликован 15-02-2002 12:18 MSK
От LstView кроме LVM_SORTITEMS похоже ничего не приходит. Но ты можешь получить HWND header control (LVM_GETHEADER), СДЕЛАТЬ САБКЛАССИНГ и перехватываь:HDN_BEGINDRAG HDN_BEGINTRACK HDN_DIVIDERDBLCLICK HDN_ENDDRAG HDN_ENDTRACK HDN_FILTERBTNCLICK HDN_FILTERCHANGE HDN_GETDISPINFO HDN_ITEMCHANGED HDN_ITEMCHANGING HDN_ITEMCLICK HDN_ITEMDBLCLICK HDN_TRACK NM_CUSTOMDRAW (header) NM_RCLICK (header) NM_RELEASEDCAPTURE (header) Что захочншь |
|
arty
|
опубликован 15-02-2002 13:30 MSK
Спасибо. Не совсем понятно правда, где внутри WM_NOTIFY приходят вышеперечисленные сообщения, но буду разбираться. :-)) |
|
ADK
|
опубликован 15-02-2002 13:43 MSK
Всё как обычно. Доков нет что ли?HDN_TRACK Notifies a header control's parent window that the user is dragging a divider in the header control. This notification message is sent in the form of a WM_NOTIFY message.
HDN_TRACK phdr = (LPNMHEADER) lParam; Parameters phdr Address of an NMHEADER structure that contains information about the header control and the item whose divider is being dragged. Return Values Returns FALSE to continue tracking the divider, or TRUE to end tracking. Requirements Windows NT/2000: Requires Windows NT 3.51 or later Windows 95/98/Me: Requires Windows 95 or later Header: Declared in commctrl.h.
|
|
arty
|
опубликован 15-02-2002 13:50 MSK
Я же сказал, что буду разбираться. Но всё-равно спасибо! :-) |