![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
На чем рисовать? [D6, WinME]
Graff © (2004-01-31 00:31:00)Мастера, подскажите на чем рисовать в Delphe, чтобы не затиралось другой формой. Рисую методом Canvas. Заранее благодарен за помощь.
Thick (2004-02-02 12:22:00) [1]Рисовать можна на чём угодно.
Скажу точно Image сам обновляет свою картинку, а в случае всего остального рисуй в OnPaint
Ivolg (2004-02-01 11:29:00) [2]Я делал с помощью 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;
Tano (2004-01-31 20:34:00) [3]В дополнение: при этом, в обработчике OnPaint ни в коем случае не проводить изменений свойств других компонентов. При этом перерисовывается форма и все чудовищно начинает мерцать (из моих ошибок :)
Mihey (2004-01-31 17:50:00) [4]2 deivan:
Нет, не лучше. Попытка прохалявить.
deivan (2004-01-31 15:07:00) [5]
> Например.
> Положил на форму компонент PaintBox1: TPaintBox и хочешь
> рисовать на его канве.
А может лучше на Image, чтоб автоматом перерисовывалось?
Passer-by (2004-01-31 00:48:00) [6]Например.
Положил на форму компонент PaintBox1: TPaintBox и хочешь рисовать на его канве.
Когда произошло что-то, что требует обновить изображение произойдет событие OnPaint, которое нужно обработать.
procedure TForm1.PaintBox1Paint(Sender: TObject);
begin
PaintBox1.Canvas.Rectangle(10,10,20,20);
end;
Graff (2004-01-31 00:39:00) [7]Расскажи поподробнее и желательно с примером. Если тебя это не затруднит.
Passer-by (2004-01-31 00:37:00) [8]Рисуй в обработчике события OnPaint.