|
CreateTextButton("польз_имя","имя$,x,y,w,h,текст")
|
|
С помощью этой команды вы можете создать кнопку. Возможно, эта команда будет самой популярной из команд создания объектов.
Возможные параметры:
пользовательское имя, выходная переменная
x, y - координаты x, y
w, h - ширина и высота
текст - надпись на кнопке
Чтобы задать другие параметры кнопки (цвет кнопки, цвет текста, шрифт и т.д.) используйте команду SetObjectParam сразу после CreateTextButton. |
|
** создание кнопки с именем "BTN" CreateTextButton("BTN","outlabel$,10,10,50,25,OK")
** или то же самое, но с использованием переменных... inlabel$='BTN' x=10 y=10 w=50 h=25 text$='OK' CreateTextButton("inlabel$","outlabel$,x,y,w,h,text$") ** а чтобы изменить цвет кнопки используйте этот код... rgbcol$='255,0,255' SetObjectParam("outlabel$","BGCOLOR=rgbcol$") ** вы также можете использовать выражения в командах создания объектов... n=n+10 CreateTextButton("inlabel$","outlabel$,x,y,w+n,h+n,text$")
|
|
|
CreateText("польз_имя","имя$,x,y,текст")
|
|
С помощью этой команды вы можете создать текстовый объект.
Возможные параметры:
пользовательское имя, выходная переменная
x, y - координаты x, y
текст - надпись на кнопке
Чтобы задать другие параметры текстового объекта (цвет текста, шрифт и т.д.) используйте команду SetObjectParam сразу после CreateText. |
|
** создание текстового объекта с именем "TXT" CreateText("TXT","outlabel$,10,10,Текст")
** или то же самое, но с использованием переменных... inlabel$='TXT' x=10 y=10 text$='Текст' CreateText("inlabel$","outlabel$,x,y,text$") ** а чтобы изменить цвет текста используйте этот код... rgbcol$='255,0,255' SetObjectParam("outlabel$","TEXTCOLOR=rgbcol$")
|
|
|
CreateParagraph("польз_имя","имя$,x,y,w,h,текст")
|
|
С помощью этой команды вы можете создать текст с полосой прокрутки.
Возможные параметры:
пользовательское имя, выходная переменная
x, y - координаты x, y
w, h - ширина и высота
текст - надпись на кнопке
Чтобы задать другие параметры объекта (цвет текста, шрифт и т.д.) используйте команду SetObjectParam сразу после CreateParagraph. |
|
** создание текста с полосой прокрутки с именем "PARA" CreateParagraph("PARA","outlabel$,10,10,320,200,Длинный текст")
** или то же самое, но с использованием переменных... inlabel$='PARA' x=10 y=10 w=320 h=200 text$='Lorem ipsum dolor sit amet et condimentum lectus sodales litora parturient.' CreateParagraph("inlabel$","outlabel$,x,y,w,h,text$") ** а чтобы изменить цвет текста используйте этот код... rgbcol$='255,0,255' SetObjectParam("outlabel$","TEXTCOLOR=rgbcol$")
|
|
CreateCircle("польз_имя","имя$,x,y,w,h,r,g,b") CreateRectangle("польз_имя","имя$,x,y,w,h,r,g,b")
|
|
С помощью этих двух команд вы можете создать круг и прямоугольник.
Возможные параметры:
пользовательское имя, выходная переменная
x, y - координаты x, y
w, h - ширина и высота
r, g, b - цвет заливки
Чтобы задать (или изменить) другие параметры круга или прямоугольника (цвет заливки, цвет или тип границы и т.д.) используйте команду SetObjectParam сразу после CreateCircle или CreateRectangle. |
|
** создание круга с именем "CIRC" CreateCircle("CIRC","outlabel$,10,10,50,50,128,0,128")
** или то же самое, но с использованием переменных... inlabel$='PARA' x=10 y=10 w=50 h=50 ** генерация случайного цвета r=RND(254)+1 g=RND(254)+1 b=RND(254)+1 CreateCircle("inlabel$","outlabel$,x,y,w,h,r,g,b") ** а чтобы изменить цвет границы круга используйте этот код... r=RND(254)+1 g=RND(254)+1 b=RND(254)+1 SetObjectParam("outlabel$","BORDERCOLOR=r,g,b")
|
|
CreateLine("польз_имя","имя$,x,y,w,h,r,g,b") CreateLineAB("польз_имя","имя$,x1,y1,x2,y2,r,g,b")
|
|
С помощью команд CreateLine и CreateLineAB вы можете создать линию.
Возможные параметры для команды CreateLine:
пользовательское имя, выходная переменная
x, y - координаты x, y
w, h - ширина и высота
r, g, b - цвет
Возможные параметры для команды CreateLineAB:
пользовательское имя, выходная переменная
x1, y1 - координаты начальной точки
x2, y2 - координаты конечной точки
r, g, b - цвет
В то время как линия, созданная с помощью команды CreateLineAB, имеет абсолютные координаты начальной и конечной точек в окне проекта, положение линии, созданной с помощью CreateLine определяется длиной/высотой ограничивающего ее прямоугольника. Другими словами, две команды с абсолютно одинаковыми значениями дадут разные результаты, поскольку они по-разному интерпретируют заданные значения.
Пожалуйста, взгляните на иллюстрацию:
Вот код, который был использован при создании этого рисунка:
CreateLine("LINE","outlabel$,20,20,280,200,255,0,0")
CreateLineAB("LINE","outlabel$,20,20,280,200,0,0,255")
Как вы возможно знаете, координаты большинства объектов MMB определяются положением левого верхнего угла, а также длиной и высотой объекта, что фактически является координатами правого нижнего угла. То же касается и команды CreateLine. Несмотря на то, что это кажется бесполезным (указывать длину и высоту линии), это очень удобно в случаях, когда вам необходимо создать несколько линий с относительным позиционированием. |
|
** создание линии с именем "LINE" и использованием абсолютных координат CreateLineAB("LINE","outlabel$,20,20,280,200,0,0,255")
** создание линии с именем "LINE" и использованием длины/высоты ограничивающего ее прямоугольника CreateLine("LINE","outlabel$,20,20,280,200,255,0,0")
|
|
|
CreateHotSpot("польз_имя","имя$,x,y,w,h")
|
|
С помощью команды CreateHotSpot вы можете создать активную область. Но как вы уже знаете (или еще не знаете ;), активная область может использоваться в качестве контейнера изображения! Вы можете загрузить его в активную область с помощью команды ReplaceImage. После этого вы можете использовать те же функции, что и при работе с растровым объектом.
Возможные параметры для команды CreateHotSpot:
пользовательское имя, выходная переменная
x, y - координаты x, y
w, h - ширина и высота
|
|
** В этом примере показано, как создать галерею изображений с расчетом максимального числа изображений, умещающихся в окне проекта pw=PubWidth()
ph=PubHeight()
** расстояние между изображениями
coef=10
w=50
h=50
** число изображений для текущей ширины окна
n_imgs_w=pw/(w+coef)
RoundNum1=INT(n_imgs_w)
RoundNum2=n_imgs_w-RoundNum1
If (RoundNum2>=0.5) Then
n_imgs_w=RoundNum1 + 1
End
** число столбцов
n_imgs_w=n_imgs_w-1
** число изображений для текущей высоты окна
n_imgs_h=ph/(h+coef)
RoundNum1=INT(n_imgs_h)
RoundNum2=n_imgs_h-RoundNum1
If (RoundNum2>=0.5) Then n_imgs_h=RoundNum1 + 1
End
** число строк
n_imgs_h=n_imgs_h-1
********************
x=coef
y=coef
For j=1 To n_imgs_h
For i=1 To n_imgs_w
Pause("50")
CreateHotSpot("HSpot","object[i]$,x,y,w,h")
** новая координата x (для столбца)
x=x+w+coef
** добавим код для активной области
script$='CurObj$=CurrentObject()'+CHR(13)+CHR(10)
script$=script$+'Message("SelectedObject","CurObj$")'+CHR(13)+CHR(10)
SetObjectParam("object[i]$","MOUSEUPSCRIPT:1=script$")
/* зададим повторение изображений. Если у вас в каталоге только 3
изображения, а число активных областей больше, то вам придется
повторять изображения. В нашем примере в каталоге всего лишь 3 файла,
поэтому, если число областей больше или равно 3, выполняем сброс счетчика изображений */
If (ni>=3) Then
ni=1
Else
** иначе увеличиваем значение счетчика
ni=ni+1
End imgpath$='<SrcDir>\Images\\'+CHAR(ni)+'.jpg'
** загрузка изображения в активную область
ReplaceImage("object[i]$","imgpath$")
** перемещаем объект на задний план
ReorderObject("object[i]$","BACK")
Refresh("")
Next i
** сброс координаты x (для столбца)
x=coef
** новая координата y (для строки)
y=y+h+coef
Next j
|
|
|
CreateScript("польз_имя","имя$")
|
|
С помощью этой команды вы можете создать скрипт.
Возможные параметры:
пользовательское имя, выходная переменная
Объект-скрипт это маленький желтый квадратик, который содержит скрипты, которые можно вызывать с помощью команд RunScript и ScriptTimer. Это нечто вроде процедуры, которая может быть вызвана из другой выполняющейся (с помощью RunScript) части вашего проекта, или запущена параллельно (через ScriptTimer). Обычно объекты-скрипты создаются в процессе разработки проекта. Но теперь благодаря команде CreateScript вы можете создать новый объект-скрипт и во время выполнения приложения и сопоставить ему определенный код с помощью команды SetObjectParam, которая позволяет (начиная с версии 4.9.8) заменять текущий скрипт объекта новым. Код скрипта может быть сгенерирован в другом скрипте, загружен из файла или просто набран в эдитбоксе ;) |
|
** создание скрипта с именем "SCRIPT" CreateScript("SCRIPT","outlabel$") ** назначение нового кода ScriptParam$='SCRIPT:1='+'Message("Привет!","")' SetObjectParam("outlabel$","ScriptParam$") ** выполнение созданного скрипта RunScript("outlabel$")
** создание скрипта с именем "SCRIPT", на этот раз с несколькими строками кода CreateScript("SCRIPT","outlabel$") ** назначение нового кода script$='SCRIPT:1='+'For i=1 To 10'+CHR(13)+CHR(10) script$=script$+'loop$=CHAR(i)'+CHR(13)+CHR(10) script$=script$+'Message("Loop:","loop$")'+CHR(13)+CHR(10) script$=script$+'Next i' SetObjectParam("outlabel$","script$") ** выполнение созданного скрипта RunScript("outlabel$")
|
|
|
DeleteObject("ИмяОбъекта$")
|
|
|
С помощью этой команды вы можете удалять как динамически созданные объекты, так и объекты, созданные в редакторе. Все что вам нужно, это передать правильное имя (имя существующего объекта) в параметр команды. Будьте осторожны с этой командой! Если вы удалили объект, то единственный путь вернуть его обратно - перезапустить проект или создать объект с помощью команд динамического создания объектов. |
|
** удаление объекта "TextBTN" DeleteObject("TextBTN")
** удаление всех кнопок с TextBTN1 до TextBTN10 For i=1 To 10 DeleteObject("TextBTN[i]") Next i
|
|
|