Шаг 6 - Пользовательский ввод и диалоги

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

Один из способов введения чисел или строк является функция INPUTBOX для нашего макросы мы могли бы применить это так:

......
MyString$ = INPUTBOX("Please % size")
MySize&=VAL(MyString)
......
.SetSize (XSize&/MySize), (YSize&/MySize)
......

Результат работы этой функции можно видеть на рисунке:

6_1.gif (3616 b)

Другим вариантом является создание диалоговых окон. Давайте посмотрим простой пример.

WITHOBJECT "CorelDraw.Automation.8" 

BEGIN DIALOG OBJECT MyDialog 290, 180, "MyDialog", SUB MyDialogEventHandler
	TEXT  93, 28, 189, 21, .Text1, "This My Dialog"
END DIALOG

SUB MyDialogEventHandler(BYVAL ControlID%, BYVAL Event%)
		IF Event% = EVENT_MOUSE_CLICK THEN 	
		ENDIF
END FUNCTION

ret = DIALOG(MyDialog)

END WITHOBJECT

Что здесь написано ??? Описывается диалог почти по стандарту ресурсов (BEGIN DIALOG OBJECT) к диалоговому окну привязывается функция обработки для того, чтобы в последствии можно было ко всем элементам диалога привязать специфические действия. Дальше диалог запускается ret = DIALOG(MyDialog). Вот результат выполнения этого макроса.

6_2.gif (1838 b)


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.