Изменить свойство цвета при рисовании эллипса? - PullRequest
2 голосов
/ 13 декабря 2011

Привет. Я пытаюсь понять, как изменить цвет эллипса при рисовании его на форме. Мой код ниже.

procedure TForm3.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
  if ssalt in shift then
     form3.canvas.Ellipse(x-10,y-10,x+10,y+10)
  else
     if ssCtrl in shift then
        form3.canvas.Ellipse(x-10,y-10,x+10,y+10);    
end;

Я знаю, что у эллипса есть свойство brush.style при использовании компонента tshape, но я не могу понять, как его изменить для этой цели.

1 Ответ

2 голосов
/ 13 декабря 2011
  1. Цвет интерьера определяется по Canvas.Brush.Color.
  2. Периметр будет нарисован в цвете, указанном Canvas.Pen.Color.

Вам также необходимо убедиться, что набор Canvas.Brush.Style установлен правильно, например, до bsSolid и аналогично для Canvas.Pen.Style, например, psSolid.

Документация для TCanvas.Ellipse гласит это так:

Эллипс выделяется с использованием значения Pen и заполняется с использованием значения Brush.

...