Вверх ↑
Этот топик читают: Гость
Ответов: 1
Рейтинг: 0
#1: 2021-04-12 11:12:45 ЛС | профиль | цитата
Доброго времени!
Поделись схемой экранной клавиатуры.
Ранее выкладывали, но все ссылки мертвые.
Саму клавиатуру я сделал, не проблема, проблема в том что она перехватывает фокус, соответственно приложение в котором должен осуществляться ввод, фокус теряет(
Т.е. нужно сделать по аналогии с родной экранной клавиатурой win, кнопки нажимаешь, а фокус она не забирает.
карма: 0

0
vip
#1.1контекстная реклама от партнеров
Ответов: 196
Рейтинг: 0
#2: 2021-06-01 14:14:45 ЛС | профиль | цитата
Попробуй так. Не знаю на сколько это корректно. Сделал на скорую руку)
Код


Add(MainForm,2953706,392,196)
{
Width=202
Height=106
MouseCapture=0
Point(onMouseDown)
Point(Handle)
link(onCreate,15660455:doWork1,[(436,216)(436,283)(380,283)(380,300)])
}
Add(Button,8551150,70,322)
{
Left=15
Top=7
Width=49
Height=30
Caption="q"
Data=String(81)
link(onClick,13303320:doEvent1,[])
}
Add(KeyEvent,12771519,385,441)
{
link(Code,7767777:Value,[])
}
Add(MultiElement,15660455,392,294)
{
link(Data1,8540612:Var2,[])
}
BEGIN_SDK
Add(EditMulti,10815696,21,21)
{
EventCount=1
WorkCount=1
DataCount=1
VarCount=1
link(doWork1,14689455:doValue,[(63,27)(63,76)])
link(Var1,6711443:Value,[(27,200)(230,200)])
}
Add(Memory,14689455,105,70)
{
Point(Data)
link(Data,10815696:Data1,[(111,46)(27,46)])
}
Add(If_else,12776595,161,140)
{
Op1=String()
Op2=String()
link(onFalse,6711443:doValue,[])
link(Op1,14689455:Value,[(167,114)(111,114)])
link(Op2,15535062:Var1,[(174,121)])
}
Add(WinEnum,161480,224,70)
{
Point(GetActiveWindow)
}
Add(Memory,6711443,224,147)
{
Point(Data)
link(onData,10815696:onEvent1,[(288,153)(288,27)])
link(Data,15535062:Var2,[(230,136)(223,136)])
}
Add(GetDataEx,15535062,217,116)
{
Angle=1
link(Data,161480:GetActiveWindow,[(237,121)])
}
Add(Timer,7874678,91,147)
{
Interval=100
link(onTimer,12776595:doCompare,[(142,153)(142,146)])
}
END_SDK
Add(LineBreakEx,13849242,154,336)
{
}
Add(LineBreakEx,11289450,343,399)
{
Type=1
link(OnEvent,7767777:doValue,[])
}
Add(Memory,7767777,392,399)
{
link(onData,12771519:doPress,[(436,405)(436,426)(373,426)(373,447)])
}
Add(WinTools,3732395,392,336)
{
link(Handle,15660455:Var1,[])
}
Add(LineBreakEx,9442132,154,322)
{
Caption="-"
}
Add(Hub,13303320,119,322)
{
link(onEvent1,9442132:doWork,[])
link(onEvent2,13849242:doWork,[(143,335)(143,342)])
}
Add(LineBreakEx,10609197,350,350)
{
Caption="-"
Type=1
link(OnEvent,3732395:doActive,[])
}
Add(hcVisualText,11977813,70,287)
{
Lines=#26:Код клавиши внутри кнопки |
Width=81
Height=32
}
Add(Button,10703519,69,364)
{
Left=70
Top=7
Width=49
Height=30
Caption="w"
Data=String(87)
link(onClick,10153896:doEvent1,[])
}
Add(LineBreakEx,12277465,154,378)
{
}
Add(LineBreakEx,1792880,154,364)
{
Caption="-"
}
Add(Hub,10153896,119,364)
{
link(onEvent1,1792880:doWork,[])
link(onEvent2,12277465:doWork,[(143,377)(143,384)])
}
Add(Button,8599507,69,406)
{
Left=125
Top=7
Width=49
Height=30
Caption="e"
Data=String(69)
link(onClick,13539557:doEvent1,[])
}
Add(LineBreakEx,11695554,154,420)
{
}
Add(LineBreakEx,704111,154,406)
{
Caption="-"
}
Add(Hub,13539557,119,406)
{
link(onEvent1,704111:doWork,[])
link(onEvent2,11695554:doWork,[(143,419)(143,426)])
}
Add(WinTools,12343445,343,245)
{
link(Handle,8540612:Var1,[(349,240)])
}
Add(CheckBox,10817532,287,252)
{
Left=20
Top=40
Width=150
Caption="Поверх окон"
link(onCheck,12343445:doPopup,[])
}
Add(GetDataEx,8540612,392,235)
{
link(Data,2953706:Handle,[])
}

карма: 0

0
Ответов: 168
Рейтинг: 8
#3: 2021-06-01 15:44:32 ЛС | профиль | цитата
Делал для себя подобное. Вот фрагмент схемы. https://forum.hiasm.com/getfile/39245
карма: 2

0
файлы: 1Project2.rar [4KB] [14]
3
Сообщение
...
Прикрепленные файлы
(файлы не залиты)