Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   не могу рисовать на канве формы (http://forum.oszone.net/showthread.php?t=29850)

Nealles 06-04-2004 16:14 206045

Почему то ничего не могу ничего нарисовать на канве формы - я пробовал textout и fillrect.

JCooper 06-04-2004 16:42 206046

Все работает:
Код:

procedure TForm1.Button1Click(Sender: TObject);
var
   rect: TRect;
begin
   TextOut(Form1.Canvas.Handle, 10, 10, PChar('TEXT'), 4);
   rect.Left:=30;
   rect.Top:=30;
   rect.Right:=60;
   rect.Bottom:=60;
   FillRect(Form1.Canvas.Handle, rect, CreateSolidBrush(1));
end;

Вот на скорую руку, есть вопросы пиши.

Vich 06-04-2004 17:10 206047

но прежде чем рисовать заблокируй канву: canvas.lock, а после отрисовки разблокируй canvas.unlock

Nealles 06-04-2004 17:16 206048

все, я догнал
я пытался нарисовать при создании формы

спасибо

JCooper 06-04-2004 17:43 206049

Цитата:

но прежде чем рисовать заблокируй канву: canvas.lock, а после отрисовки разблокируй canvas.unlock
А это еще зачем?

Vich 06-04-2004 17:49 206050

чтобы в отрисовать нужно "единолично", без вмешательств из вне (например из других потоков)

JCooper 06-04-2004 18:37 206051

Vich ну про многопоточность никто не говорил...


Время: 20:32.

Время: 20:32.
© OSzone.net 2001-