Созданный нами макрос конечно неплохой, но вот только проблема в том, что процент уменьшения у нас заложен железный, а хотелось бы чтобы его можно было выбирать. Для этого нам нужно некоторую процедуру или функцию ввода. Давайте делать.
Один из способов введения чисел или строк является функция INPUTBOX для нашего макросы мы могли бы применить это так:
...... MyString$ = INPUTBOX("Please % size") MySize&=VAL(MyString) ...... .SetSize (XSize&/MySize), (YSize&/MySize) ......
Результат работы этой функции можно видеть на рисунке:
Другим вариантом является создание диалоговых окон. Давайте посмотрим простой пример.
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). Вот результат выполнения этого макроса.