Главная страница
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.013 c
2-1228481314
snake-as
2008-12-05 15:48
2009.01.18
Не сработало FindNext


2-1228747542
Lamer6666
2008-12-08 17:45
2009.01.18
Колличество выделенных записей в DBGrid


15-1226136730
sloosar
2008-11-08 12:32
2009.01.18
Скрытия IP адреса


15-1227246774
Math
2008-11-21 08:52
2009.01.18
Более точные вещественные числа чем Extended?


8-1189531969
Dmitry_12_08_73
2007-09-11 21:32
2009.01.18
Перекодировка русских букв в URL