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

Вниз

На чем рисовать?   Найти похожие ветки 

 
Graff   (2004-01-31 00:31) [0]

Мастера, подскажите на чем рисовать в Delphe, чтобы не затиралось другой формой. Рисую методом Canvas. Заранее благодарен за помощь.


 
Passer-by   (2004-01-31 00:37) [1]

Рисуй в обработчике события OnPaint.


 
Graff   (2004-01-31 00:39) [2]

Расскажи поподробнее и желательно с примером. Если тебя это не затруднит.


 
Passer-by   (2004-01-31 00:48) [3]

Например.
Положил на форму компонент PaintBox1: TPaintBox и хочешь рисовать на его канве.

Когда произошло что-то, что требует обновить изображение произойдет событие OnPaint, которое нужно обработать.

procedure TForm1.PaintBox1Paint(Sender: TObject);
begin
 PaintBox1.Canvas.Rectangle(10,10,20,20);
end;


 
deivan   (2004-01-31 15:07) [4]


> Например.
> Положил на форму компонент PaintBox1: TPaintBox и хочешь
> рисовать на его канве.


А может лучше на Image, чтоб автоматом перерисовывалось?


 
Mihey ©   (2004-01-31 17:50) [5]

2 deivan:

Нет, не лучше. Попытка прохалявить.


 
Tano ©   (2004-01-31 20:34) [6]

В дополнение: при этом, в обработчике OnPaint ни в коем случае не проводить изменений свойств других компонентов. При этом перерисовывается форма и все чудовищно начинает мерцать (из моих ошибок :)


 
Ivolg   (2004-02-01 11:29) [7]

Я делал с помощью Image:

var
Form1: TForm1;
pis:boolean=false;
implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
   pis:=true;
   image1.Canvas.MoveTo(x,y);
end;

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
 Y: Integer);
begin
    if pis then imagу1.Canvas.LineTo(x,y);
end;

procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
    pis:=false;
end;


 
Thick   (2004-02-02 12:22) [8]

Рисовать можна на чём угодно.
Скажу точно Image сам обновляет свою картинку, а в случае всего остального рисуй в OnPaint



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

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

Наверх




Память: 0.48 MB
Время: 0.024 c
1-1081770200
__oleg
2004-04-12 15:43
2004.05.02
Координаты окна


1-1081929826
SergP
2004-04-14 12:03
2004.05.02
ZLib. Как распаковать строку?


1-1081751869
unicode
2004-04-12 10:37
2004.05.02
TMainMenu


4-1078450068
sucer
2004-03-05 04:27
2004.05.02
Как корректно уничтожить поток(Thread)?


6-1077816770
rrew
2004-02-26 20:32
2004.05.02
TServerSocket & ClientSocket