![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Изменение ширины столбца TListView [D5, Win2k]
solo © (2002-12-28 20:27:00)Здравствуйте уважаемые, подскажите, как отловить событие, когда юзер мышью изменил ширину столбца у компонента TListView.
Lizard (2002-12-28 20:50:00) [1]Попробуй так:
uses стандартный +CommCtrl
type
TForm1 = class(TForm)
LV1: TListView;
procedure FormCreate(Sender: TObject);
private
OldListViewWP : TWndMethod;
procedure NewListViewWP(var Msg : TMessage);
public
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
OldListViewWP := LV1.WindowProc;
LV1.WindowProc := NewListViewWP;
end;
procedure TForm1.NewListViewWP(var Msg : TMessage);
var
Col : TListColumn;
begin
with PHDNotify(TWMNotify(Msg).NMHdr)^ do
case Msg.Msg of
WM_NOTIFY:
begin
if (Hdr.code = HDN_ENDTRACKW then
begin
//событие отловлино - делаешь что хочешь
end;
end;
WM_DESTROY:
begin
LV1.WindowProc := OldListViewWP;
OldListViewWP(Msg);
if csDestroying in LV1.ComponentState then
begin
OldListViewWP := LV1.WindowProc;
LV1.WindowProc := NewListViewWP;
end;
end;
end;
OldListViewWP(Msg);
end;