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

Вниз

Как определить момент изменения размера колонки в Listview   Найти похожие ветки 

 
dreams   (2004-10-12 14:00) [0]

Собствено Сабж. Пока ничего не смог найти :(  кто нибудь сталкивался ?


 
Семен Сорокин ©   (2004-10-12 14:24) [1]

unit ExListView;

interface

uses
 Windows, Messages, SysUtils, Classes, Controls, ComCtrls, CommCtrl;

type
 TVLColumdBeginResizeEvent = procedure(Sender: TObject; Column: TListColumn) of object;
 TVLColumdEndResizeEvent = TVLColumdBeginResizeEvent;

 TExListView = class(TListView)
 private
  FOnColumnBeginResize: TVLColumdBeginResizeEvent;
  FOnColumnEndResize: TVLColumdEndResizeEvent;
  procedure WMNotify(var Msg: TWMNotify); message WM_NOTIFY;
 published
  property OnColumnBeginResize: TVLColumdBeginResizeEvent read FOnColumnBeginResize write FOnColumnBeginResize;
  property OnColumnEndResize: TVLColumdEndResizeEvent read FOnColumnEndResize write FOnColumnEndResize;
 end;

procedure Register;

implementation

procedure Register;
begin
 RegisterComponents("Samples", [TExListView]);
end;

{ ------------------------------- TExListView -------------------------------- }

procedure TExListView.WMNotify(var Msg: TWMNotify);
begin
inherited;
case Msg.NMHdr^.code of      
 HDN_BEGINTRACK: if Assigned(FOnColumnBeginResize) then
  FOnColumnBeginResize(self, Columns[PHDNotify(Pointer(Msg.NMHdr))^.Item]);
 HDN_ENDTRACK: if Assigned(FOnColumnEndResize) then
  FOnColumnEndResize(self, Columns[PHDNotify(Pointer(Msg.NMHdr))^.Item])
end
end;

end.


 
dreams   (2004-10-12 14:45) [2]

> Семен Сорокин ©   (12.10.04 14:24) [1]

Спасибо за помощь , но тут дело в чём : я использую уже готовый компонент Listview ( не стандартный ) и переделать его не могу так как исходники закрыты :(  

Стандартное решение есть ?


 
begin...end ©   (2004-10-12 14:47) [3]


> [2] dreams   (12.10.04 14:45)


> я использую уже готовый компонент Listview ( не стандартный
> ) и переделать его не могу так как исходники закрыты

Вроде в [1] было создание наследника, а не переделывание.


 
Miron   (2004-10-12 22:02) [4]


> Семен Сорокин ©   (12.10.04 14:24) [1]

Это только начало и конец изменения. Тут все работает...
А вот сам процесс... Хренотень какая-то, короче.

Если изменить так:

unit ExListView;

interface

uses
Windows, Messages, SysUtils, Classes, Controls, ComCtrls, CommCtrl;

TExListView = class(TListView)
private
 FOnColumnResize: TNotifyEvent;
 procedure WMNotify(var Msg: TWMNotify); message WM_NOTIFY;
published
 property OnColumnResize: TNotifyEvent read FOnColumnResize write FOnColumnResize;
end;

procedure Register;

implementation

procedure Register;
begin
RegisterComponents("Samples", [TExListView]);
end;

{ ------------------------------- TExListView -------------------------------- }

procedure TExListView.WMNotify(var Msg: TWMNotify);
begin
    inherited;
    case Msg.NMHdr^.code of      
       Low(Integer)..High(Integer): if Assigned(FOnColumnResize) then
       FOnColumnResize(self);
    end
end;

end.



и в сделать
procedure TForm1.ListView1ColumnResize(Sender: TObject);
var
  Loop: Integer;
begin
   Caption := "";
   for Loop := 0 to ListView1.Columns.Count - 1 do begin
      Caption := Caption + IntToStr(ListView1.Column[Loop].Width) + "   ";
   end;
end;


Caption изменяется когда угодно, но только не в процессе изменения ширины столбца. Видимо, кто-то в Borlande схалтурил...



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

Форум: "Основная";
Текущий архив: 2004.10.31;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.035 c
14-1097490812
TUser
2004-10-11 14:33
2004.10.31
Кто просил веселых программистов?


1-1097827100
Unknown user
2004-10-15 11:58
2004.10.31
Пустые значения


4-1096111441
Вопрос
2004-09-25 15:24
2004.10.31
Сервис не может читать параметры из реестра


1-1098080595
Uran
2004-10-18 10:23
2004.10.31
delphi5 в delphi7


14-1096217151
beginner707
2004-09-26 20:45
2004.10.31
TSplitter Neponyatka





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский