Вверх ↑
Ответов: 41
Рейтинг: 0
#1: 2018-05-12 21:01:30 ЛС | профиль | цитата
Продолжение темы:
Теперь компонент может работать со свойствами контролов через их Handle.
Свойства:

    Caption
    Text
    Color
    Left
    Top
    Width
    Height
    FontName
    FontHeight
    FontColor
    FontBold
    FontIitalic
    LoadFromFile
    SaveToFile
    ShowControl
пример схемы
Add(MainForm,2953706,161,77)
{
Width=625
Position=1
Point(Handle)
}
Add(VBJScript,1839749,154,231)
{
WorkPoints=#6:doTest|
DataPoints=#4:hwnd|
Script=#18:Sub doTest(dt,idx)|13: Dim objCtrl|36: If sys.hwnd = "NULL" Then Exit Sub|63: ' Вызов с параметрами handle контрола и имя объекта в скрипте|63: ' В отличии от объектной переменной objCtrl обьект KOLControl|61: ' нельзя уничтожить или переназначить для другого контрола,|47: ' он будет уникальным до завершения программы|51: Set objCtrl = sys.Control(sys.hwnd, "KOLControl")|14: With objCtrl|29: .FontName = "Arial Black"|20: .FontHeight = 30|25: .Fontcolor = vbYellow|43: .Caption = "Это моя форма синего цвета"|19: .Color = vbBlue|19: .Hide = vbFalse|10: End With|66: ' т.е писать и читать своства для уникального имени можно так...|40: 'MsgBox "RGB = " & KOLControl.Color |24: Set objCtrl = Nothing|7:End Sub|
link(hwnd,9671356:Var,[])
}
Add(Button,11676348,84,231)
{
Left=10
Top=50
Width=115
Caption="Test"
Point(Handle)
link(onClick,1839749:doTest,[])
}
Add(Label,6485018,98,77)
{
Left=145
Top=30
Width=105
Height=35
Point(Handle)
}
Add(ChildPanel,10442349,224,77)
{
}
BEGIN_SDK
Add(EditMulti,4107669,21,21)
{
VarCount=1
link(Var1,9259457:Handle,[(27,179)(41,179)])
}
Add(Panel,9259457,35,105)
{
Left=145
Top=80
Width=445
Height=165
Alignment=2
Point(Handle)
}
END_SDK
Add(Memo,7133508,280,77)
{
Left=10
Top=80
Width=115
Height=165
Point(Handle)
}
Add(GetIndexData,9671356,154,168)
{
Count=4
link(Data1,6485018:Handle,[(160,128)(111,128)])
link(Data2,2953706:Handle,[])
link(Data3,10442349:Var1,[(174,128)(230,128)])
link(Data4,7133508:Handle,[(181,140)(307,140)])
}
Add(ComboBox,14560296,84,161)
{
Left=10
Top=15
Width=115
Height=24
Strings=#5:Label|4:Form|5:Panel|4:Memo|
Text="Label"
ReadOnly=0
link(onClick,9671356:doIndex,[])
}


Ещё одна приятная особенность что можно вызывать методы и читать свойства и переменные из разных ЯВУ (vbs,js) примерно так
Add(MainForm,2953706,112,98)
{
}
Add(VBJScript,2723942,196,168)
{
WorkPoints=#6:doTest|
DataPoints=#3:scr|
Script=#10:Dim objJS|0:|18:Sub doTest(dt,idx)|34: ' Подключаем удалённый JS скрипт|22: Set objJS = sys.scr|26: MsgBox objJS.summ(2,5)|21: MsgBox objJS.demo|43: 'MsgBox Chr(192) & Chr(193) & Chr(194)|60: MsgBox objJS.Chr(192) & objJS.Chr(193) & objJS.Chr(194)|7:End Sub|
link(scr,14676190:##Me,[])
}
Add(Button,13154026,112,168)
{
Left=20
Top=25
link(onClick,2723942:doTest,[])
}
Add(VBJScript,14676190,196,98)
{
VarPoints=#4:##Me|
Language=1
Script=#9:var demo;|22: demo = 1234567890;|0:|18:function summ(x,y)|2:{ |12: var temp; |12: temp=100; |19: return x+y+temp; |1:}|0:|22:function chr( ascii ) |1:{|36: return String.fromCharCode(ascii);|1:}|
}

Не хватает ещё работы с графикой Уже подумываю прикрутить обьект GraphicsWindow подобно как из ShmallBasic от майкрософта
Для тех кто в танке
https://drive.google.com/drive/folders/0B4uxw3DEyywZSmw1QWx5QUdfMkE
https://onedrive.live.com/?id=201F3835D49587FE%21377&cid=201F3835D49587FE
https://blogs.msdn.microsoft.com/smallbasic/tag/featured-extension/

з.ы а если разойдусь то сделаю ActiveX для блица чтобы можно было 3D игрушки в блокноте писать
карма: 0

0
Редактировалось 3 раз(а), последний 2018-05-12 21:04:12