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

Вниз

Работа при срабатывании 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.038 c
14-1122743563
MaksimkaP
2005-07-30 21:12
2005.08.28
Прокси сервер


3-1121341257
vigo
2005-07-14 15:40
2005.08.28
Подключение к Oracle и выборке данных...


4-1120794819
КиТаЯц
2005-07-08 07:53
2005.08.28
Переопределить событие Captin-овской кнопки biHelp


14-1122965493
Игорь Шевченко
2005-08-02 10:51
2005.08.28
Наши программисты победили в Йокогаме


1-1123493220
гость2
2005-08-08 13:27
2005.08.28
проверка значения





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