Главная страница
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.024 c
1-77883
Igor_
2003-07-11 17:57
2003.07.24
PReport. Как можно запретить печать и сохранение отчета?


1-77974
Прохожий
2003-07-11 10:47
2003.07.24
ListBox


9-77703
Antichacker
2003-01-31 10:32
2003.07.24
2 вопроса по GLScene(вроде простые)


3-77716
Cranium
2003-07-03 09:00
2003.07.24
---|Ветка была без названия|---


4-78188
Nikkk
2003-05-22 19:37
2003.07.24
Как определить исчезло ли окно с известным именем?