Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.24;
Скачать: 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 вся ветка

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

Наверх




Память: 0.49 MB
Время: 0.018 c
8-78009
SimpleUser
2003-04-01 20:47
2003.07.24
Помогите разобраться с FastDIB


3-77777
VSS
2003-06-27 01:37
2003.07.24
Clipper овские базы, Apollo,клиент Novell, базы не открываются


1-77893
Ткаченко Сергей
2003-07-14 10:08
2003.07.24
Проблема со шрифтами


9-77712
R2D2
2003-02-03 09:04
2003.07.24
GLScene - Свойство линии loUseNodeColorForLines


4-78200
yaJohn
2003-05-22 11:21
2003.07.24
Как узнать, где был последний клик мышью