Подпрограммы блокировки рисования 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Подпрограммы блокировки рисования

Поиск

Подпрограммы блокировки рисования

procedure Redraw;
Перерисовывает содержимое графического окна. Вызывается в паре с LockDrawing

procedure LockDrawing;
Блокирует рисование на графическом окне. Перерисовка графического окна выполняется с помощью Redraw

procedure UnlockDrawing;
Снимает блокировку рисования на графическом окне и осуществляет его перерисовку

Блокировка вывода в графическое окно LockDrawing с последующим вызовом Redraw используется для простейшего создания анимации без мерцания.

Пример. Анимация без мерцания

Подпрограммы режимов рисования


procedure SetSmoothing(sm: boolean);
Устанавливает режим сглаживания

procedure SetSmoothingOn;
Включает режим сглаживания

procedure SetSmoothingOff;
Выключает режим сглаживания

function SmoothingIsOn: boolean;
Возвращает True, если режим сглаживания установлен

procedure SetCoordinateOrigin(x0,y0: integer);
Устанавливает начало координат в точку (x0,y0)


События модуля GraphABC

Графическая программа продолжает выполняться даже после того как выполнены все операторы основной программы. Графическое окно реагирует на события мыши, клавиатуры, событие изменения размеров окна и событие закрытия окна. Данные события определены в модуле GraphABC и представляют собой процедурные переменные:

OnMouseDown: procedure (x,y,mousebutton: integer);
Событие нажатия на кнопку мыши. (x,y) - координаты курсора мыши в момент наступления события, mousebutton = 1, если нажата левая кнопка мыши, и 2, если нажата правая кнопка мыши

OnMouseUp: procedure (x,y,mousebutton: integer);
Событие отжатия кнопки мыши. (x,y) - координаты курсора мыши в момент наступления события, mousebutton = 1, если отжата левая кнопка мыши, и 2, если отжата правая кнопка мыши

OnMouseMove: procedure (x,y,mousebutton: integer);
Событие перемещения мыши. (x,y) - координаты курсора мыши в момент наступления события, mousebutton = 0, если кнопка мыши не нажата, 1, если нажата левая кнопка мыши, и 2, если нажата правая кнопка мыши.

OnKeyDown: procedure (key: integer);
Событие нажатия клавиши. key - виртуальный код нажатой клавиши

OnKeyUp: procedure (key: integer);
Событие отжатия клавиши. key - виртуальный код отжатой клавиши

OnKeyPress: procedure (ch: char);
Событие нажатия символьной клавиши. ch - символ, генерируемый нажатой символьной клавишей

OnResize: procedure;
Событие изменения размера графического окна

OnClose: procedure;
Событие закрытия графического окна

Если переменной-событию присвоена некоторая процедура, она называется обработчиком данного события и автоматически вызывается при наступлении указанного события.

Параметры x и y в обработчиках OnMouseDown, OnMouseUp и OnMouseMove определяют координаты курсора мыши в момент наступления события, параметр mousebutton равен 0, если кнопка мыши не нажата, 1, если нажата левая кнопка мыши, и 2, если нажата правая кнопка мыши. Параметр key в обработчиках OnKeyDown и OnKeyUp определяет виртуальный код нажатой клавиши. Параметр ch в обработчике OnKeyPress определяет нажатый символ.

Пример 1.Рисование мышью в окне.

Пример 2.Перемещение окна с помощью клавиатуры.

Виртуальные коды клавиш


VK_Left

VK_Up

VK_Right

VK_Down

VK_PageUp

VK_PageDown

VK_Prior

VK_Next

VK_Home

VK_End

VK_Insert

VK_Delete

VK_Enter

VK_Return

VK_Back

VK_Tab

VK_ShiftKey

VK_ControlKey

VK_F1

VK_F2

VK_F3

VK_F4

VK_F5

VK_F6

VK_F7

VK_F8

VK_F9

VK_F10

VK_F11

VK_F12

VK_Menu

VK_Pause

VK_CapsLock

VK_Capital

VK_PrintScreen

VK_Help

VK_Space

VK_A

VK_B

VK_C

VK_D

VK_E

VK_F

VK_G

VK_H

VK_I

VK_J

VK_K

VK_L

VK_M

VK_N

VK_O

VK_P

VK_Q

VK_R

VK_S

VK_T

VK_U

VK_V

VK_W

VK_X

VK_Y

VK_Z

VK_LWin

VK_RWin

VK_Apps

VK_Sleep

VK_LineFeed

VK_NumPad0

VK_NumPad1

VK_NumPad2

VK_NumPad3

VK_NumPad4

VK_NumPad5

VK_NumPad6

VK_NumPad7

VK_NumPad8

VK_NumPad9

VK_Multiply

VK_Add

VK_Separator

VK_Subtract

VK_Decimal

VK_Divide

VK_NumLock

VK_Scroll

VK_LShiftKey

VK_RShiftKey

VK_LControlKey

VK_RControlKey

VK_LMenu

VK_RMenu

VK_KeyCode

VK_Shift

VK_Control

VK_Alt

VK_Modifiers

VK_Select

VK_Print

VK_Snapshot

 

 




Поделиться:


Последнее изменение этой страницы: 2024-06-27; просмотров: 40; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.005 с.)