Здесь показаны различия между двумя версиями данной страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
subjects:programming:pascal:pascalabc:graphabc [2018/06/19 12:43] ¶ |
subjects:programming:pascal:pascalabc:graphabc [2023/03/22 20:08] (текущий) ¶ [Пример рисования] |
||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| ====== PascalABC:GraphABC ====== | ====== PascalABC:GraphABC ====== | ||
| - | Модуль **GraphABC** (''входит в состав **PascalABC**'') отличается от стандартного модуля **Graph** и предназначен только для работы в ОС семейства Windows((В Linux-версии PascalABC.NET не будет работать ряд модулей: в частности, все графические модули. ''Информация на 2018 г.'')). | + | Модуль **GraphABC** (''входит в состав **PascalABC**'') отличается от стандартного модуля **Graph** и предназначен только для работы в ОС семейства Windows((В Linux-версии ''PascalABC.NET'' не будет работать ряд модулей: в частности, все графические модули. ''Информация на 2018 г.'')). |
| Для его подключения используется следующий код: | Для его подключения используется следующий код: | ||
| Строка 7: | Строка 7: | ||
| ===== В справке ===== | ===== В справке ===== | ||
| В справке ''PascalABC'', в разделе ''Стандартные модули'' : ''Модуль GraphABC'': | В справке ''PascalABC'', в разделе ''Стандартные модули'' : ''Модуль GraphABC'': | ||
| + | * ''Подпрограммы для работы с графическим окном'' - управление окном \\ (есть и в объектно-ориентированном стиле) | ||
| * ''Графические примитивы'' - какие ещё фигуры можно рисовать | * ''Графические примитивы'' - какие ещё фигуры можно рисовать | ||
| * ''Цветовые константы'' - какие цвета можно использовать | * ''Цветовые константы'' - какие цвета можно использовать | ||
| - | * ''GraphABC: события'' - более подробно о событиях | + | * ''События'' - более подробно о событиях |
| - | * ''GraphABC: виртуальные коды клавиш'' - для событий OnKeyDown и OnKeyUp | + | * ''Виртуальные коды клавиш'' - для событий ''OnKeyDown'' и ''OnKeyUp'' |
| - | ===== Некоторые цвета ===== | + | ===== Рисование ===== |
| + | ==== Некоторые цвета ==== | ||
| |Константа^Цвет^ | |Константа^Цвет^ | ||
| ^clBlack|Чёрный| | ^clBlack|Чёрный| | ||
| Строка 25: | Строка 27: | ||
| ^clDkGray|Тёмно-серый| | ^clDkGray|Тёмно-серый| | ||
| - | ===== Пример рисования: ===== | + | ==== Пример рисования ==== |
| <code pascal>Program Figurka; | <code pascal>Program Figurka; | ||
| uses GraphABC; | uses GraphABC; | ||
| begin | begin | ||
| - | SetWindowCaption("Title"); // задаем заголовок графического окна | + | SetWindowCaption('Title'); // задаем заголовок графического окна |
| SetWindowSize(800, 600); // задаем размер графического окна | SetWindowSize(800, 600); // задаем размер графического окна | ||
| - | CenterOnScreen; // центрируем графическое окно по центру экрана | + | // CenterOnScreen; // центрируем графическое окно по центру экрана |
| ClearWindow(clWhite); // очищаем окно указанным цветом | ClearWindow(clWhite); // очищаем окно указанным цветом | ||
| - | SetBrushColor(clPurpure); // устанавливаем цвет кисти | + | SetBrushColor(clGreen); // устанавливаем цвет кисти (закрашивание) |
| + | SetPenColor(clRandom); // устанавливаем цвет пера (границы) | ||
| SetPixel(10,10,clBlack); // закрашивает один пиксель(x,y,color) | SetPixel(10,10,clBlack); // закрашивает один пиксель(x,y,color) | ||
| Строка 45: | Строка 48: | ||
| SetFontColor(clBlack); // устанавливаем цвет шрифта | SetFontColor(clBlack); // устанавливаем цвет шрифта | ||
| SetFontSize(20); // устанавливаем размер шрифта в pt | SetFontSize(20); // устанавливаем размер шрифта в pt | ||
| - | TextOut(300,10,"a+b=c"); // выводим текст (x,y,string) | + | TextOut(300,10,'a+b=c'); // выводим текст (x,y,string) |
| end.</code> | end.</code> | ||
| Строка 55: | Строка 58: | ||
| ^OnMouseDown|//procedure// (x, y, mousebutton: **integer**);| | ^OnMouseDown|//procedure// (x, y, mousebutton: **integer**);| | ||
| ^OnMouseUp|//procedure// (x, y, mousebutton: **integer**);| | ^OnMouseUp|//procedure// (x, y, mousebutton: **integer**);| | ||
| - | ^OnMouseMove|//procedure// (x, y, mousebutton: **integer**);| | + | ^OnMouseMove|//procedure// (x, y, mousebutton(( |
| + | ^0|кнопка мыши не нажата| | ||
| + | ^1|левая кнопка мыши| | ||
| + | ^2|правая кнопка мыши| | ||
| + | )): **integer**);| | ||
| ^OnKeyDown|//procedure// (key: **integer**);| | ^OnKeyDown|//procedure// (key: **integer**);| | ||
| ^OnKeyUp|//procedure// (key: **integer**);| | ^OnKeyUp|//procedure// (key: **integer**);| | ||
| Строка 64: | Строка 71: | ||
| ==== Код некоторых клавиш ==== | ==== Код некоторых клавиш ==== | ||
| * VK_Left | * VK_Left | ||
| - | * VK_Up | ||
| * VK_Right | * VK_Right | ||
| + | * VK_Up | ||
| * VK_Down | * VK_Down | ||
| - | * VK_Space | ||
| * VK_Enter | * VK_Enter | ||
| + | * VK_Space | ||
| * VK_A | * VK_A | ||
| * VK_B | * VK_B | ||
| * … | * … | ||
| + | Используется для событий ''OnKeyDown'' и ''OnKeyUp''. | ||
| ==== Пример ==== | ==== Пример ==== | ||
| <code pascal>Program MouseCircle; | <code pascal>Program MouseCircle; | ||
| uses GraphABC; | uses GraphABC; | ||
| - | procedure DoMouseDown(x,y,mb: integer); | + | |
| + | procedure DoMouseDown(x,y,mb: integer); // Процедура-обработчик | ||
| begin | begin | ||
| if mb=1 then begin | if mb=1 then begin | ||
Записаться на занятия к репетитору