Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.01.18;
Скачать: [xml.tar.bz2];

Вниз

Событие 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.005 c
1-1206352689
tytus
2008-03-24 12:58
2009.01.18
Как послать сообщение форме из скрипта FastReport


2-1228326483
Юрии
2008-12-03 20:48
2009.01.18
Раскладка клавиатуры


6-1197449836
AnatV
2007-12-12 11:57
2009.01.18
Как это называется?


2-1228396508
Учащийся
2008-12-04 16:15
2009.01.18
TVarRec


15-1227219455
{RASkov}
2008-11-21 01:17
2009.01.18
Диспетчер устройств





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский