Войти

Показать полную графическую версию : не могу рисовать на канве формы


Nealles
06-04-2004, 16:14
Почему то ничего не могу ничего нарисовать на канве формы - я пробовал textout и fillrect.

JCooper
06-04-2004, 16:42
Все работает:

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
но прежде чем рисовать заблокируй канву: canvas.lock, а после отрисовки разблокируй canvas.unlock

Nealles
06-04-2004, 17:16
все, я догнал
я пытался нарисовать при создании формы

спасибо

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

Vich
06-04-2004, 17:49
чтобы в отрисовать нужно "единолично", без вмешательств из вне (например из других потоков)

JCooper
06-04-2004, 18:37
Vich ну про многопоточность никто не говорил...




© OSzone.net 2001-2012