Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.01.18;
Скачать: CL | DM;

Вниз

Событие ListView   Найти похожие ветки 

 
webpauk ©   (2008-12-05 09:04) [0]

есть ли у TListView(ViewStyle=vsReport) событие, отвечающее за изменение размера колонки?


 
Сергей М. ©   (2008-12-05 09:14) [1]

Нет.


 
webpauk ©   (2008-12-05 09:22) [2]


> Сергей М. ©   (05.12.08 09:14) [1]


Поставим вопрос по другому: как изменяется размер колонки?


 
Сергей М. ©   (2008-12-05 09:32) [3]

Ручками.
Или автоматически - TListColumn.AutoSize
Или программно - TListColumn.Width


 
Palladin ©   (2008-12-05 09:32) [4]

Вопрос стал еще круче и загадочней.


 
webpauk ©   (2008-12-05 09:33) [5]

методом научного тыка установлено: за данное поведение у TcustomListView отвечает процедура:
procedure WMNotify(var Message: TWMNotify); message WM_NOTIFY;

а именно:
procedure TLV.WMNotify(var Message: TWMNotify);
begin
 inherited;

 with Message.NMHdr^ do
   case code of
     HDN_ENDTRACK: ShowMessage("");
   end;

end;


 
Сергей М. ©   (2008-12-05 09:35) [6]


> за данное поведение


За какое такое "данное" ?


 
Palladin ©   (2008-12-05 09:37) [7]

Это нотификация headerconrol"а


 
webpauk ©   (2008-12-05 09:39) [8]


> Сергей М. ©   (05.12.08 09:35) [6]

за изменение ширины колонки


 
Сергей М. ©   (2008-12-05 09:46) [9]

Это событие извещения родительского окна контрола, извещающее о свершившемся факте изменения состояния контрола.


 
Rouse_ ©   (2008-12-05 09:49) [10]

Писал в свое время что-то такое, обработчик нотификаций заголовка выглядел примерно так:

procedure TGSListview.WndProc(var Message: TMessage);
var
 HDR_STYLE: Integer;
 bIsSet: Boolean;
begin
 inherited;
 with Message do
   if Msg = WM_NOTIFY then
   begin
     with PHDNotify(LParam)^ do
     case Hdr.code of
       HDN_BEGINTRACK, HDN_BEGINTRACKW:
       begin
         if SystemParametersInfo(SPI_GETDRAGFULLWINDOWS, 0, @bIsSet, 0) then
           if bIsSet then
           begin
             HDR_STYLE := GetWindowLong(FHeaderHandle, GWL_STYLE);
             if (HDR_STYLE and HDS_FULLDRAG) = HDS_FULLDRAG then
               SetWindowLong(FHeaderHandle, GWL_STYLE,
                HDR_STYLE and not HDS_FULLDRAG);
           end;
         if Assigned(FBeginTrack) then
           FBeginTrack(Self);
         Result := 0;
       end;
       HDN_ENDTRACK, HDN_ENDTRACKW:
       begin
         if Assigned(FEndTrack) then
           FEndTrack(Self);
         Result := 0;
       end;
       HDN_TRACK, HDN_TRACKW:
       begin
         if PItem^.mask = HDI_WIDTH then
           if Assigned(FTrack) then
             FTrack(Self, PItem^.cxy);
         Result := 0;
       end;
     end;
   end;
end;



Страницы: 1 вся ветка

Текущий архив: 2009.01.18;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.021 c
2-1228326483
Юрии
2008-12-03 20:48
2009.01.18
Раскладка клавиатуры


2-1228379676
webpauk
2008-12-04 11:34
2009.01.18
Изменение ClientArea для MDIChild-формы


15-1226900583
mml
2008-11-17 08:43
2009.01.18
Вопрос к тем, кто читал книгу Агурова "Практика программирования


11-1196645214
Jon
2007-12-03 04:26
2009.01.18
REG_MULTI_SZ


15-1227498126
Slider007
2008-11-24 06:42
2009.01.18
С днем рождения ! 24 ноября 2008 понедельник