Установка цвета при рисовании на экране

Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду

Ответить
Viktor Zull
Сообщения: 117
Зарегистрирован: 10 ноя 2005, 02:00

Эта процедура рисует на экране круг:

PROCEDURE DrawOnScreen;
VAR
A: hDC;
BEGIN
A := GetDC(0);
Ellipse(А, 0, 0, 200, 200);
ReleaseDC(0,А);
END;

Как задать цвет контура (penColor) и закраски (BrushColor) чтобы нарисовать красный круг.

Пробую вот так нарисовать красный прямоугольник:

PROCEDURE DrawOnScreen;
VAR A: hDC;
G: HBRUSH;
R : TRect;
BEGIN
A := GetDC(0);
SetDCBrushColor(A,clRed);
G := GetDCBrushColor(A);
r.left := 100;
r.top := 100;
r.right := 110;
r.bottom := 110;
Windows.FillREct(A,R,G);
ReleaseDC(0,А);
END;

Результат: прямоугольник рисуется, но всё равно белым цветом.
Blood_Magic
Сообщения: 273
Зарегистрирован: 30 июн 2005, 14:53

Viktor Zull, код оформляется с помощью тега "CODE"

Код: Выделить всё

var
  dc:hwnd;
  p: HPEN; // Дескриптор пера
  b: HBRUSH;
begin
  dc:=GetDC(0);
  SetTextColor(DC, RGB(255, 0, 255));
  p:=CreatePen(PS_SOLID, 1, RGB(0, 0, 255));
  b:=CreateSolidBrush(RGB(0, 255, 255));
  SelectObject(DC, p); // Привязываем созданное перо к контексту устройства
  SelectObject(DC, b);
  Ellipse(dc, 0, 0, 200, 200);
  TextOut(dc, 75, 90, 'Привет',Length('Привет'));
  ReleaseDC(0,dc);
  DeleteDC(dc);
end;
Ответить