Текст задания
При движении мыши с нажатой левой кнопкой в окне рисуется линия, с нажатой правой кнопкой - стирается. В диалоговом окне задаются параметры линии (цвет, стиль, толщина).
Решение
Задание взято из методички по интерфейсам АСОИУ (вуз ТУСУР). Соответственно и программа писал в полном соответствии с данной методичкой: написана на стареньком Borland Pascal v7.0, с использованием требуемых библиотек. Исходный код программы снабжен исчерпывающими комментариями почти к каждой строке (см. фрагмент ниже). Стоит отметить, что работоспособность программы не гарантируется на Windows старше Vista, слишком древние библиотеки там используются...
Для получения работы необходимо добавить её в корзину и оплатить заказ.
Фрагмент кода программы
.... Constructor TMyDialog.Init (Aparent: PWindowsObject; Resource:PChar);{Конструктора диалогового окна}
var
k:Word; {переменная - счетчик}
Acontrol: Pointer; {Переменная - указатель}
begin
Inherited Init (Aparent, Resource);
AControl:= New(PButton,InitResource(@Self,1)); {Указываем элементы диалогового окна из ресурсного файла}
AControl:= New(PButton,InitResource(@Self,2));
For k:=0 To 3 do
Acontrol:= New(PRadioButton,InitResource(@Self,3+k));
end;
Type {Создаем новый тип - наследник Twindow}
PMyWindow = ^TMyWindow;
TMyWindow=object(TWindow)
DragDC: HDC; {Переменная, необходимая для прорисовки линий}
ButtonDown: Bool; {Переменная для проверки зажатия кнопки мыши}
Buffer: TBuffer; {Объект буффер}
ThePen: HPen; {объект перо}
PenSize: Integer; {размер пера}
PenColor: Integer; {Цвет пера}
constructor init(AParent:PWindowsObject; ATitle:PChar); {Комнтуктор окна}
procedure VMMouseMove (var Msg: TMessage); {процедура обработки передвижения мыши}
virtual wm_First+wm_MouseMove;
procedure WMLButtonDown(var Msg: TMessage); {процедура обработки нажатия левой кнопки мыши} .....
Результат работы программы (Windows XP):
Общие данные | |
ВУЗ | ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР) |
Год написания | 2013 |
Программа "Рисующая мышь" в Pascal
- Дисциплина: Программирование
- Код работы: КО-117
- Работу выложил: Администратор
-
550.00 р.
Смотрите также
Теги: Pascal
Не подошла работа?
Узнайте стоимость написания работы по Вашему заданию
(это быстро и бесплатно)