Цветовая палитра для рисовалки - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Помогите сделать цветовую палитру для вот этот рисовалки

Решение задачи: «Цветовая палитра для рисовалки»

textual
Листинг программы
uses
  GraphABC, Events;
var c:integer;
procedure MouseDown(x, y, mb: integer);
begin
  MoveTo(x, y);
end;
 
procedure MouseMove(x, y, mb: integer);
begin
  if mb = 1 then
  begin
    setpencolor(c);
    setpenwidth(2);
    LineTo(x, y)
  end
  else
  if mb = 2 then
  begin
    setpenwidth(15);
    setpencolor(clwhite);
    LineTo(x, y)
  end
else
end;
procedure KeyPress(key: char);
begin
case Upcase(key) of
'R':c:=clRed;
'G':c:=clGreen;
'B':c:=clBlue;
//и так далее
end;
end;
begin
  SetWindowCaption('Рисовалка ');
  setfontsize(10);
  textout(50,0,'Выбор цвета клавишами: r/R-красный  g/G-зеленый  b/B-синий');
  OnMouseDown := MouseDown;
  OnMouseMove := MouseMove;
  OnKeyPress := KeyPress;
end.

Объяснение кода листинга программы

  1. Подключаются необходимые библиотеки GraphABC и Events.
  2. Объявляется переменная c типа integer.
  3. Определяются два процедурных обработчика событий: MouseDown и MouseMove.
  4. В процедуре MouseDown перемещаем курсор мыши к координатам x, y.
  5. В процедуре MouseMove если модуль кнопки мыши равен 1, то устанавливаем цвет пера в c (заданный ранее цвет красный), ширина пера равна 2. Если модуль кнопки мыши равен 2, то устанавливаем цвет пера в clwhite (белый), ширина пера равна 15. Если модуль кнопки мыши не равен ни одному из этих значений, то ничего не делаем.
  6. Определяется процедура KeyPress, которая реагирует на нажатие клавиш.
  7. Задается размер шрифта и выводится текст на экран.
  8. Устанавливаются обработчики событий OnMouseDown и OnMouseMove.
  9. Задается размер окна с помощью функции SetWindowCaption и устанавливается размер шрифта с помощью функции setfontsize.
  10. Выводится текст на экран с помощью функции textout.
  11. В обработчике OnMouseDown вызывается процедура MouseDown.
  12. В обработчике OnMouseMove вызывается процедура MouseMove.
  13. В обработчике OnKeyPress вызывается процедура KeyPress.

Оцени полезность:

10   голосов , оценка 3.6 из 5
Похожие ответы