Вниз
Скачать: CL | DM;

Компонент   Найти похожие ветки 

 
Oleg__   (2003-07-10 15:34) [0]

Как при создании компонента на нем что-нибудь нарисовать? Если в конструкторе написать (напр) Canvas.Restangle(...), то ошибка либо "не могу рисовать на Canvas" либо "у контрола нет parent"а".


 
MBo ©   (2003-07-10 15:35) [1]

рисуй в Paint


 
Skier ©   (2003-07-10 15:36) [2]

От чего компонент наследуется ?


 
Oleg__   (2003-07-10 15:39) [3]

> MBo
Сделал Paint; override;

> Skier
TPanel


 
Skier ©   (2003-07-10 15:44) [4]

>Oleg__ (10.07.03 15:39)
см. MBo © (10.07.03 15:35) и рисуй после inherited
А вообще хорошо бы код показать...


 
Oleg__   (2003-07-10 15:48) [5]

TOpPnlControl = class(TPanel)
private
.......
protected
procedure Repaint; override;
.......
end;
end;
...........
procedure TOpPnlControl.Repaint;
begin
inherited;
Canvas.Rectangle(0,0,20,20);
end;


 
Skier ©   (2003-07-10 15:50) [6]

>Oleg__ (10.07.03 15:48)
Сказали же "рисуй в Paint"


 
Poirot ©   (2003-07-10 15:54) [7]

Я присоединюсь - рисуй там, гед надо рисавать... в конструкторе в любом случае не нарисует... хоть об инхеритиз по самые уши!!! Тебе сказл любимая ИДЕ - нет у тебя, того где рисавать - нетУ!


 
Oleg__   (2003-07-10 15:57) [8]

Мда, невнимательность када-нить погубит.
Спасибо и извиняюсь за дезинформацию. А как сделать, чтобы не моргало теперь, а то сначала же он прорисовывает старое и только потом мое?


 
Skier ©   (2003-07-10 16:08) [9]

>Oleg__ (10.07.03 15:57)
А цель компонента какая ?
Может не туда идёшь...


 
Poirot ©   (2003-07-10 16:15) [10]

Попробуй ненаследовать паинт... Или же есть замечательный флаг у компонента - ComponentState типа Opaque или что-то в этом роде - он отключит перерисовку бекграунда у компонента!


 
Переяслов Григорий ©   (2003-07-10 16:53) [11]

Я обычно создаю компоненту, наследуюсь от TPaintBox, в методе Paint ее полностью отрисовываю. Кладу эту компоненту на Panel, делаю ей Allign -> alClient. А чтобы не моргало в рунтайме делаю так: Panel.DoubleBuffering := True.



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.016 c
1-77843
edicon
2003-07-12 17:03
2003.07.24
Еще про защиту...


1-77952
cyberwolf
2003-07-11 00:17
2003.07.24
Рекурсивного обход директории


14-78101
Soft
2003-07-08 11:17
2003.07.24
Во имя процесса-отца, процесса-сына и святаго root а: Enter!


1-77999
Erik
2003-07-11 18:00
2003.07.24
Подсчет размера масива в байтах.


14-78045
Dmitriy O.
2003-07-08 15:57
2003.07.24
Куда лучше прописывать настройки.




   Наверх