Форум: "Начинающим";
Текущий архив: 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