Вверх ↑
Этот топик читают: Гость
Ответов: 29
Рейтинг: 1
#1: 2014-08-24 00:36:41 ЛС | профиль | цитата
Задача: форма должна быть фиксировано в любом заданном углу экрана независимо от разрешения экрана. Поиском не нашел, в примерах тоже. Попробовал хоть как то реализовать...
Странно как то работает, вроде бы все верно а результат не правильный (отступ должен быть по 5px строго, а на деле нет)
Где я накосячил? На примере часов:
code_34173.txt

карма: 0

0
файлы: 1code_34173.txt [1.7KB] [185]
Ответов: 1328
Рейтинг: 69
#2: 2014-08-24 08:57:18 ЛС | профиль | цитата
Инсульт, твое окно под панелью задач, простым поплавком панель задач не перекроешь
карма: 2

0
Ответов: 824
Рейтинг: 138
#3: 2014-08-24 11:27:19 ЛС | профиль | цитата
Схема

Add(MainForm,74591,132,126)
{
Width=100
Height=25
Color=0
Font=[Arial,8,0,0,204]
KeyPreview=1
Caption=""
BorderStyle=0
TaskBar=1
Point(Handle)
Point(onMouseDown)
link(onCreate,6400351:doEvent1,[])
}
Add(Time,44177,819,133)
{
Format="h:m:s"
Point(Hours)
Point(Minute)
}
Add(Timer,45619,756,189)
{
link(onTimer,9167881:doWork2,[])
}
Add(DoData,49508,819,189)
{
link(onEventData,51747:doText,[])
link(Data,44177:FormatTime,[])
}
Add(Label,51747,882,189)
{
Width=100
Height=25
Color=0
Font=[Arial,16,1,12632256,1]
WinStyle=1
Name="clock"
Hint=" "
Caption="00:00:00"
AutoSize=1
Alignment=2
Point(onMouseMove)
Point(doHint)
link(onClick,7494492:doPopupHere,[])
link(onMouseMove,3502592:doData,[])
}
Add(WinTools,11489816,245,224)
{
link(Handle,6003424:Var2,[])
}
Add(PosWindow,10302733,560,231)
{
link(Handle,6003424:Var3,[(566,201)])
link(Left,353266:Result,[])
link(Top,3510909:Result,[(580,201)(622,201)])
}
Add(Hub,4549185,532,231)
{
link(onEvent1,10302733:doLeft,[])
link(onEvent2,10302733:doTop,[])
}
Add(Screen,8028462,581,63)
{
Point(LeftWorkarea)
Point(RightWorkarea)
Point(TopWorkarea)
Point(BottomWorkarea)
}
Add(MathParse,353266,567,161)
{
MathStr=""
Point(doMathStr)
link(onResult,3510909:doCalc,[])
link(X1,8028462:LeftWorkarea,[(573,103)(608,103)])
link(X2,8028462:RightWorkarea,[(580,117)(615,117)])
}
Add(MathParse,3510909,616,161)
{
MathStr=""
Point(doMathStr)
link(onResult,4549185:doEvent1,[(691,167)(691,272)(522,272)(522,237)])
link(X1,8028462:TopWorkarea,[])
link(X2,8028462:BottomWorkarea,[])
}
Add(Time,882415,938,133)
{
Time_Date=1
Format="D.M.Y"
Point(Hours)
Point(Minute)
}
Add(DoData,3502592,938,196)
{
link(onEventData,51747:doHint,[(982,202)(982,242)(870,242)(870,202)])
link(Data,882415:FormatTime,[])
}
Add(ChildForm,15931954,364,154)
{
@Hint=#20:Вибор положение Окна|
link(onEvent1,2245519:doEvent2,[])
AddHint(-40,67,134,13,@Hint)
}
BEGIN_SDK
Add(EditMulti,13309494,21,21)
{
EventCount=1
WorkCount=1
link(doWork1,14651314:doVisible,[(56,27)(56,76)])
}
Add(MainForm,14651314,70,42)
{
Left=35
Top=105
Width=242
Height=118
Visible=1
Point(doVisible)
}
Add(RadioButton,9238042,126,42)
{
Left=20
Top=10
Width=70
Selected=0
Caption="Left Top"
link(onSelect,14570068:doWork1,[])
}
Add(RadioButton,1480340,126,84)
{
Left=20
Top=40
Width=75
Caption="Left Bottom"
link(onSelect,14570068:doWork2,[(179,90)(179,55)])
}
Add(RadioButton,14561722,126,126)
{
Left=125
Top=10
Width=70
Caption="RightTop"
link(onSelect,14570068:doWork3,[(186,132)(186,62)])
}
Add(RadioButton,10397006,126,175)
{
Left=125
Top=40
Width=80
Caption="Right Bottom"
link(onSelect,14570068:doWork4,[(193,181)(193,69)])
}
Add(ChanelToIndex,14570068,231,42)
{
Count=4
link(onIndex,13309494:onEvent1,[(270,48)(270,27)])
}
END_SDK
Add(StrList,7314893,441,105)
{
Strings=#6:%1 + 5|6:%1 + 5|8:%2 - 105|8:%2 - 105|
Point(doGetString)
Point(onGetString)
link(onGetString,353266:doMathStr,[(480,118)(480,174)])
AddHint(-88,-54,47,52,Strings)
}
Add(StrList,10972061,490,112)
{
Strings=#6:%1 + 5|7:%2 - 30|6:%1 + 5|7:%2 - 30|
Point(doGetString)
Point(onGetString)
link(onGetString,3510909:doMathStr,[(606,125)(606,174)])
AddHint(-10,-80,47,52,Strings)
}
Add(Hub,2245519,406,147)
{
InCount=2
OutCount=3
link(onEvent1,7314893:doGetString,[])
link(onEvent2,10972061:doGetString,[])
link(onEvent3,353266:doCalc,[])
}
Add(Hub,6400351,196,140)
{
OutCount=3
link(onEvent1,11301813:In,[(221,146)(221,132)])
link(onEvent2,14183621:doTimer,[])
link(onEvent3,11489816:doPopup,[(221,160)(221,237)])
}
Add(Timer,14183621,238,147)
{
Interval=10
Enable=1
AutoStop=1
link(onTimer,8959276:doData,[])
}
Add(LineBreak,13594203,749,161)
{
@Hint=#17:Чтобы при запуске|29:время показывало без задержки|
link(Out,9167881:doWork1,[(802,167)])
AddHint(-74,-101,171,26,@Hint)
Primary=[11301813,-511,-35]
}
Add(PopupMenu,7494492,1015,189)
{
@Hint=#8:Клик ЛКМ|12:выводит меню|
Menu=#9:Положение|5:Выход|
link(onClick,8794933:doEvent,[])
AddHint(-19,-88,74,26,@Hint)
}
Add(IndexToChanel,8794933,1064,189)
{
link(onEvent1,12205972:In,[])
link(onEvent2,5949857:In,[])
}
Add(HubEx,9167881,798,189)
{
link(onEvent,49508:doData,[])
}
Add(DoData,8959276,280,147)
{
@Hint=#16:Задает положение|15:окна при старте|
Data=Integer(0)
link(onEventData,2245519:doEvent1,[])
AddHint(-67,-84,110,26,@Hint)
}
Add(LineBreak,11197813,322,154)
{
Caption="s"
link(Out,15931954:doWork1,[])
Primary=[12205972,819,35]
}
Add(LineBreak,9939024,84,147)
{
Caption="exit"
link(Out,74591:doClose,[])
Primary=[5949857,1022,49]
}
Add(GetDataEx,6003424,245,196)
{
Angle=3
link(Data,74591:Handle,[(138,201)])
}

карма: 1

1
Голосовали:ser_davkin
Ответов: 1536
Рейтинг: 176
#4: 2014-08-24 16:15:23 ЛС | профиль | цитата
sashaoli, оптимизировал с сокращением элементов.
Add(MainForm,74591,377,112)
{
Width=100
Height=25
Color=0
Font=[Arial,8,0,0,204]
KeyPreview=1
Caption=""
BorderStyle=0
TaskBar=1
Point(Handle)
Point(onMouseDown)
link(onCreate,6400351:doEvent1,[])
}
Add(Time,44177,140,49)
{
Format="h:m:s"
Point(Hours)
Point(Minute)
}
Add(Timer,45619,77,98)
{
link(onTimer,4470255:doWork2,[])
}
Add(Label,51747,140,98)
{
Width=100
Height=25
Color=0
Font=[Arial,16,1,12632256,1]
WinStyle=1
Name="clock"
Hint=" "
Caption="00:00:00"
AutoSize=1
Alignment=2
Point(onMouseMove)
Point(doHint)
link(onClick,7494492:doPopupHere,[])
link(Text,44177:FormatTime,[])
link(onMouseMove,3502592:doData,[])
}
Add(WinTools,11489816,469,217)
{
link(Handle,6003424:Var2,[])
}
Add(PosWindow,10302733,644,126)
{
link(Handle,6003424:Var3,[(650,114)(704,114)(704,201)])
}
Add(Screen,8028462,553,77)
{
Point(LeftWorkarea)
Point(RightWorkarea)
Point(TopWorkarea)
Point(BottomWorkarea)
}
Add(MathParse,353266,574,126)
{
MathStr=""
Point(doMathStr)
link(onResult,10302733:doLeft,[])
link(X1,8028462:LeftWorkarea,[])
link(X2,8028462:RightWorkarea,[])
}
Add(MathParse,3510909,588,168)
{
MathStr=""
Point(doMathStr)
link(onResult,10302733:doTop,[(632,174)(632,139)])
link(X1,8028462:TopWorkarea,[])
link(X2,8028462:BottomWorkarea,[])
}
Add(Time,882415,196,49)
{
Time_Date=1
Format="D.M.Y"
Point(Hours)
Point(Minute)
}
Add(DoData,3502592,196,105)
{
link(onEventData,51747:doHint,[(240,111)(240,151)(128,151)(128,111)])
link(Data,882415:FormatTime,[])
}
Add(Hub,6400351,420,126)
{
OutCount=3
link(onEvent1,11301813:In,[(444,132)(444,125)])
link(onEvent2,5571551:doWork2,[])
link(onEvent3,11489816:doPopup,[(445,146)(445,230)])
}
Add(LineBreak,15861942,70,140)
{
@Hint=#17:Чтобы при запуске|29:время показывало без задержки|
link(Out,4470255:doWork3,[(116,146)])
AddHint(-3,27,171,26,@Hint)
Primary=[11301813,385,-21]
}
Add(PopupMenu,7494492,259,98)
{
@Hint=#8:Клик ЛКМ|12:выводит меню|
Menu=#8:Left Top|11:Left Bottom|8:RightTop|12:Right Bottom|1:-|5:Выход|
link(onClick,1380897:doCompare,[])
AddHint(-22,-49,74,26,@Hint)
}
Add(GetDataEx,6003424,469,196)
{
Angle=3
link(Data,74591:Handle,[(383,201)])
}
Add(MultiSetParam,3110152,504,133)
{
Parameters=#15:%1 + 5;%1 + 5;;|16:%1 + 5;%2 - 30;;|17:%2 - 105;%1 + 5;;|18:%2 - 105;%2 - 30;;|
Count=4
OutType=1
PColor(onSet2,11163050)
link(onSet1,353266:doMathStr,[])
link(onSet2,3510909:doMathStr,[(552,146)(552,181)])
link(onSet3,353266:doCalc,[(561,153)(561,132)])
link(onSet4,3510909:doCalc,[(562,160)(562,174)])
}
Add(If_else,1380897,308,98)
{
Type=5
Op2=Integer(5)
link(onTrue,5571551:doWork1,[(487,104)])
link(onFalse,74591:doClose,[(358,111)(358,139)])
}
Add(HubEx,5571551,483,133)
{
link(onEvent,3110152:doSet,[])
}
Add(HubEx,4470255,112,98)
{
link(onEvent,51747:doText,[])
}
карма: 1
Не так страшна ошибка, как опасность её не заметить.

1
Голосовали:sashaoli
Ответов: 29
Рейтинг: 1
#5: 2014-08-24 16:20:35 ЛС | профиль | цитата
Konst, Панели задач не существует там где это запускается (winpe)
sashaoli, работает, но много лишнего.
Так как нет панели задач, нет и часов в winpe. Идея была просто выводить на рабстол полупрозрачные часы, а в связи с тем что winpe запускается на разных машинах с разными разрешениями экрана... Думаю вопрос решен, придется упростить схему от sashaoli.
Всем спасибо
------------ Дoбавленo в 16.20:
ser_davkin, Ну ненужно там меню, оно бы в моей схеме тоже было бы тогда..
карма: 0

0
Ответов: 824
Рейтинг: 138
#6: 2014-08-24 17:40:38 ЛС | профиль | цитата
Инсульт писал(а):
Ну ненужно там меню
Не нужно?! Выбросите. И! "Дареному коню, в зубы не смотрят"
Инсульт писал(а):
sashaoli, работает, но много лишнего.
Я, чего, за Вас обязан все сделать? **** -1 ****
карма: 1

0
Ответов: 1043
Рейтинг: 33
#7: 2014-08-27 11:00:08 ЛС | профиль | цитата
Инсульт, Без меню, с отступами по 5 пикселей, при любом разрешении экрана

Add(MainForm,7580403,133,161)
{
Left=5
Top=5
Width=133
Height=37
Color=0
AlphaBlendValue=128
BorderStyle=0
TaskBar=1
DragForm=0
TransparentColor=16711935
ClientSize=0
Point(doLeft)
Point(doTop)
Point(Width)
Point(Height)
link(onCreate,4289819:doTimer,[])
}
Add(Screen,9364990,343,91)
{
}
Add(MathParse,12845805,343,175)
{
MathStr="%1 - %2 - 5"
ResultType=0
link(onResult,12987458:doData,[])
link(X1,9364990:Width,[])
link(X2,2863884:Var,[])
}
Add(MathParse,9887311,406,182)
{
MathStr="%1 - %2 - 5"
ResultType=0
link(onResult,2968514:doData,[])
link(X1,9364990:Height,[(412,142)(356,142)])
link(X2,9874040:Var,[])
}
Add(Hub,5058158,252,175)
{
OutCount=3
link(onEvent1,12845805:doCalc,[])
link(onEvent2,9887311:doCalc,[])
link(onEvent3,6184222:doData,[(304,195)(304,272)])
}
Add(LineBreak,14381039,133,217)
{
Type=1
link(Data,7580403:Width,[])
Primary=[2863884,217,-70]
}
Add(LineBreak,12154381,140,238)
{
Type=1
link(Data,7580403:Height,[])
Primary=[9874040,273,-84]
}
Add(Timer,4289819,203,175)
{
Interval=0
Enable=1
link(onTimer,5058158:doEvent1,[])
}
Add(CableWork,1744278,567,175)
{
link(Cable,7602350:Cable,[(596,181)(596,312)(87,312)(87,195)])
}
Add(CableEvent,7602350,105,189)
{
link(Wire1,7580403:doLeft,[])
link(Wire2,7580403:doTop,[])
}
Add(ChangeMon,12987458,455,175)
{
link(onData,1744278:Wire1,[])
}
Add(ChangeMon,2968514,511,182)
{
link(onData,1744278:Wire2,[])
}
Add(Time,7620189,343,224)
{
Format="h:m:s"
}
Add(Label,10934974,406,266)
{
Top=9
Width=133
Height=28
Align=4
Color=0
Font=[MS Sans Serif,12,1,16777215,1]
Caption="00:00:00"
AutoSize=1
Alignment=2
}
Add(ChangeMon,6184222,343,266)
{
link(onData,10934974:doText,[])
link(Data,7620189:FormatTime,[])
}

карма: 0

0
файлы: 1code_34181.txt [1.6KB] [163]
Гость
Ответов: 17029
Рейтинг: 0
#8: 2014-08-28 01:50:42 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2025-01-12 09:01:31
карма: 0

0
Ответов: 1043
Рейтинг: 33
#9: 2014-08-28 15:12:23 ЛС | профиль | цитата
95.69.225.191 писал(а):
Также сделал и Инсульт

Не совсем понимаю о чем вы
Схемы абсолютно разные. В первом посте схема не валидна, при изменении разрешения экрана отступов нет!
карма: 0

0
9
Сообщение
...
Прикрепленные файлы
(файлы не залиты)