Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.08.28;
Скачать: CL | DM;

Вниз

Работа при срабатывании OnCustomDrawItem в своем компаненте   Найти похожие ветки 

 
FHT   (2004-09-12 11:30) [0]

unit MyListView;

interface

uses
 Classes,Controls,ComCtrls,Messages,Commctrl,Windows,Sysutils;

type

 TMyListView = class(TListView)
 
 
 protected
{ Protected declarations }
function CustomDrawItem(Item: TListItem; State: TCustomDrawState;
Stage: TCustomDrawStage): Boolean;override;

 public
{ Public declarations }
 constructor Create(AOwner: TComponent); override;
 destructor Destroy; override;

end;

procedure Register;

implementation

constructor TMyListView.Create(AOwner: TComponent);
begin
   inherited Create(AOwner);
end;

destructor TMyListView.Destroy;
begin
 inherited Destroy;
end;

{Насколько я разбирался вот эта функция(ниже вопроса) срабатывает и вызывает событие
OnCustomDrawItem при прорисовки Items в ListView.
А вопрос такой:
почему она не срабатавает вот в этом компаненте, т.е. сигнал Beep не звучит или если поставить точку останова видно что вообще функция в родительском классе будто бы не отрабатывает.}

function TMyListView.CustomDrawItem(Item: TListItem; State: TCustomDrawState;
Stage: TCustomDrawStage): Boolean;
begin
    inherited CustomDrawItem(Item,State,Stage);//здесь точка останова
    Result:=True;
    Beep;
end;


procedure Register;
begin
 RegisterComponents("Standard", [TMyListView]);
end;

End.


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

OwnerDraw = true?


 
FHT   (2004-09-13 04:49) [2]

Да True. Но функция не срабатывает.


 
FHT   (2004-09-14 03:29) [3]

Что никто не поможет?


 
Юрий Зотов ©   (2004-09-14 10:33) [4]

Не уверен, но может быть...

Посмотрите IsCustomDrawn. Согласно справке, "IsCustomDrawn returns true when the list view should generate an event". Получается, что если IsCustomDrawn вернет False (а он вернет False, если ни на одно событие пользовательнской отрисовки реально не назначен обработчик), то и событие генериться не будет. Соответственно, не будет вызываться и метод его диспетчеризации.


 
FHT   (2004-09-15 03:51) [5]

>Юрий Зотов ©   (14.09.04 10:33) [4]
Спасибо. Да дело было именно в этом.



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

Текущий архив: 2005.08.28;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.042 c
14-1123486805
AndrewK
2005-08-08 11:40
2005.08.28
Посоветуйте готовое решение


14-1123006579
Creep
2005-08-02 22:16
2005.08.28
Забыл пароль свой. Проверяю


1-1123565156
megabyte-ceercop
2005-08-09 09:25
2005.08.28
X11 Xlib.h


4-1120744413
chili
2005-07-07 17:53
2005.08.28
Kак узнать об изменении обоев на рабочем столе?


14-1122352069
Думкин
2005-07-26 08:27
2005.08.28
Новосибирск-Бердск