Вверх ↑
Ответов: 263
Рейтинг: 18
#1: 2020-01-12 08:50:38 ЛС | профиль | цитата
Интересное решение. Был бы у меня такой код, не пришлось бы вот это городить:
Окно с автомасштабом под разные разрешения экрана


Add(ChildForm,594999,616,168)
{
@Hint=#14:Окно сообщений|
AddHint(-39,90,101,13,@Hint)
}
BEGIN_SDK
Add(EditMulti,11296761,35,21)
{
EventCount=1
WorkCount=3
VarCount=1
Width=608
Height=326
link(doWork1,5567757:doEvent1,[])
link(doWork2,203331:doEvent1,[])
link(doWork3,3717071:doEvent1,[(42,41)(42,69)])
link(Var1,3277796:Value,[(41,106)(223,106)])
}
Add(MainForm,10088731,273,133)
{
Width=600
Height=391
Color=15723495
Font=[MS Sans Serif,8,0,15723495,1]
Visible=1
Caption="Сообщение"
BorderStyle=0
Point(doWidth)
Point(doHeight)
Point(Width)
Point(onResize)
Point(onKeyDown)
Point(Handle)
Point(doVisible)
Point(Height)
link(onCreate,15006145:doCalc,[(318,153)(318,114)(117,114)(117,167)])
link(onResize,4129870:doCalc,[])
}
Add(Label,6034725,595,182)
{
Left=30
Top=109
Width=526
Height=179
Color=15723495
Font=[Arial,48,1,0,204]
Layout="гориз"
HeightScale=74
Caption="Перезагрузите\r\nроутер"
AutoSize=1
Alignment=2
Point(doFont)
}
Add(Screen,5606417,133,119)
{
}
Add(Font,3456020,483,189)
{
Font=[Arial,60,1,0,204]
link(onFont,6034725:doFont,[])
link(Size,8838938:Result,[(489,177)(471,177)(471,233)(433,233)])
link(Color,10724312:Value,[])
}
Add(MathParse,15006145,140,161)
{
@Hint=#20:70% от высоты экрана|
DataCount=1
MathStr="(%1 / 100) * 70"
link(onResult,14395067:doEvent1,[])
link(X1,5606417:Height,[])
}
Add(MathParse,4129870,336,154)
{
@Hint=#55:Подсчитываем процент отличия ширины экрана от 800 точек|61:это нужно для корректного увеличения размера шрифта сообщений|
DataCount=1
MathStr="floor(100/(400/%1))"
link(onResult,3933537:doEvent1,[])
link(X1,10088731:Height,[(342,142)(325,142)(325,200)(293,200)])
}
Add(MathParse,8838938,427,189)
{
DataCount=1
MathStr="floor(0.38*%1)"
link(onResult,3456020:doFont,[])
}
Add(Memory,10724312,490,140)
{
Default=Integer(0)
}
Add(Hub,3933537,385,154)
{
OutCount=3
link(onEvent1,1078661:doCalc,[(413,160)(413,97)])
link(onEvent2,8838938:doCalc,[(413,167)(413,195)])
link(onEvent3,8250776:doCalc,[(413,174)(413,293)])
}
Add(Font,1175091,483,91)
{
Font=[Arial,30,1,0,204]
link(onFont,15324881:doFont,[])
link(Size,1078661:Result,[(489,76)(469,76)(469,135)(433,135)])
link(Color,12660658:Value,[])
}
Add(MathParse,1078661,427,91)
{
@Hint=#20:задаем размер шрифта|39:после нуля - значение исходного размера|15:шрифт 12 - 0.12|15:шрифт 48 - 0.48|
DataCount=1
MathStr="floor(0.3*%1)"
link(onResult,1175091:doFont,[])
}
Add(Memory,12660658,490,42)
{
Default=Integer(0)
}
Add(Font,6609783,483,287)
{
Font=[Arial,22,1,0,204]
link(onFont,7237425:doFont,[])
link(Size,8250776:Result,[(489,274)(471,274)(471,331)(433,331)])
link(Color,2632450:Value,[])
}
Add(MathParse,8250776,427,287)
{
DataCount=1
MathStr="floor(0.3*%1)"
link(onResult,6609783:doFont,[])
}
Add(Memory,2632450,490,238)
{
Default=Integer(0)
}
Add(VBoxLayout,16544796,280,273)
{
Name="гориз"
WidthScale=100
HeightScale=100
}
Add(Label,15324881,595,84)
{
Left=176
Top=9
Width=255
Height=36
Color=15723495
Font=[Arial,20,1,0,1]
Layout="гориз"
HeightScale=14
Caption="Неполадки в работе сети"
AutoSize=1
Alignment=2
Point(doFont)
}
Add(Hub,3717071,63,63)
{
OutCount=3
link(onEvent1,8090719:doData,[])
link(onEvent2,10905333:doStop,[(97,76)(97,230)])
link(onEvent3,13835811:doOn,[(88,83)(88,279)])
}
Add(DoData,8090719,126,63)
{
@Hint=#28:прозрачность - 0 (не видимо)|
Data=Integer(0)
link(onEventData,12032251:doEvent1,[])
}
Add(DoData,7463155,133,70)
{
@Hint=#27:прозрачность - 255 (видимо)|
Data=Integer(1)
link(onEventData,12032251:doEvent2,[])
}
Add(WinTools,3963084,280,210)
{
link(Handle,10088731:Handle,[])
}
Add(Hub,12032251,182,63)
{
InCount=2
OutCount=1
link(onEvent1,3277796:doValue,[])
}
Add(DoData,15182105,182,217)
{
@Hint=#33:Всё время делаем окно поверх всех|
Data=Integer(1)
link(onEventData,2434718:doEvent1,[])
}
Add(Timer,10905333,133,217)
{
Interval=100
Enable=1
link(onTimer,15182105:doData,[])
}
Add(Hub,2434718,238,217)
{
link(onEvent1,3963084:doPopup,[])
link(onEvent2,3963084:doActive,[])
}
Add(Hub,203331,63,28)
{
OutCount=3
link(onEvent1,6034725:doText,[(533,34)(533,188)])
link(onEvent2,7463155:doData,[(115,41)(115,76)])
link(onEvent3,10905333:doTimer,[(106,48)(106,223)])
}
Add(Memory,3277796,217,63)
{
link(onData,10088731:doVisible,[(258,69)(258,181)])
}
Add(MultiElementEx,13835811,133,273)
{
}
BEGIN_SDK
Add(EditMultiEx,7711558,21,21)
{
WorkCount=#4:doOn|
Width=272
Height=109
link(doOn,15899657:doTimer,[(45,27)(45,62)])
}
Add(WinEnum,681110,126,56)
{
link(onFindWindow,6625482:doCompare,[])
}
Add(StrMask,6625482,175,56)
{
Mask="*Frontol*"
link(onTrue,1663544:doActive,[])
}
Add(WinTools,1663544,238,49)
{
link(Handle,681110:Handle,[(244,44)(220,44)(220,100)(132,100)])
}
Add(Timer,15899657,70,56)
{
Enable=1
AutoStop=1
link(onTimer,681110:doEnum,[])
}
END_SDK
Add(Image,630805,182,273)
{
Top=58
Width=600
Height=2
Layout="гориз"
ViewStyle=1
Picture=[ZIPF600000078DA73F2DDC400016640AC01C49A40CC08C61260F11A2056D6836018D8BB69E94021066A00004D495835]
}
Add(Image,16716409,231,273)
{
Top=334
Width=600
Height=2
Layout="гориз"
ViewStyle=1
Picture=[ZIPF600000078DA73F2DDC400016640AC01C49A40CC08C61260F11A2056D6836018D8BB69E94021066A00004D495835]
}
Add(Label,7237425,595,280)
{
Left=188
Top=349
Width=181
Height=36
Color=15723495
Font=[Arial,20,1,0,204]
Layout="гориз"
HeightScale=14
Caption="Нажмите любую клавишу"
AutoSize=1
Alignment=2
Point(doFont)
}
Add(Hub,14395067,189,161)
{
link(onEvent1,14294857:doOperation,[])
link(onEvent2,10088731:doHeight,[])
}
Add(Math,14294857,217,161)
{
OpType=2
Op2=1.7
link(onResult,10088731:doWidth,[])
}
Add(Hub,5567757,546,21)
{
link(onEvent1,11296761:onEvent1,[])
link(onEvent2,15324881:doText,[(572,34)(572,90)])
}
END_SDK


--- Добавлено в 2020-01-12 09:06:50

andrestudio писал(а):
Пока только в IC, может в компонент завернуть?

Да, пригодится.
карма: 3

0
Редактировалось 1 раз(а), последний 2020-01-12 09:06:50