Вверх ↑
Ответов: 775
Рейтинг: 168
#1: 2021-11-12 20:55:43 ЛС | профиль | цитата
egorhay писал(а):
Не знаю правильно или нет.

Правильно.
А пример я бы сделал так

Add(MainForm,6168681,259,49)
{
Width=620
Height=429
Caption="Прозрачная форма, не реагирующая на мышь"
DragForm=0
Point(Handle)
Point(PHandle)
link(onCreate,4866552:doPopup,[(298,69)(298,111)])
}
Add(WinTools,4866552,315,98)
{
Point(doAlphaBlendValue)
link(Handle,12939580:Var3,[(321,89)])
}
Add(InlineCode,4502086,259,133)
{
WorkPoints=#15:doTransparentOn|16:doTransparentOff|
DataPoints=#6:Handle|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|29:uses kol,Share,Debug,Windows;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|22: Handle : THI_Event;|59: Procedure doTransparentOn (var _Data:TData; Index:word);|60: Procedure doTransparentOff (var _Data:TData; Index:word);|5: end;|0:|14:implementation|0:|69:Procedure THiAsmClass.doTransparentOn (var _Data:TData; Index:word);|5:Begin|136: SetWindowLong(ReadInteger(_Data,Handle,0), GWL_EXSTYLE, GetWindowLong(ReadInteger(_Data,Handle,0), GWL_EXSTYLE) or WS_EX_TRANSPARENT);|4:end;|0:|73: Procedure THiAsmClass.doTransparentOff (var _Data:TData; Index:word);|5:Begin|141: SetWindowLong(ReadInteger(_Data,Handle,0), GWL_EXSTYLE, GetWindowLong(ReadInteger(_Data,Handle,0), GWL_EXSTYLE) and not WS_EX_TRANSPARENT);|4:end;|0:|0:|4:end.|
link(Handle,12939580:Var2,[])
}
Add(Switch,4079365,203,126)
{
DataOn=Integer(150)
DataOff=Integer(255)
Point(onOn)
Point(onOff)
link(onSwitch,4866552:doAlphaBlendValue,[])
link(onOn,4502086:doTransparentOn,[])
link(onOff,4502086:doTransparentOff,[])
}
Add(ChildForm,6796585,133,119)
{
link(onEvent1,14165339:doDeferredEvent,[(172,125)(172,76)])
link(onEvent2,4079365:doSwitch,[])
}
BEGIN_SDK
Add(EditMulti,15061766,21,21)
{
EventCount=2
}
Add(MainForm,16614817,35,105)
{
Left=35
Top=105
Width=190
Height=79
Caption="Пульт"
BorderStyle=4
Point(onClose)
Point(onHide)
link(onHide,15061766:onEvent1,[(74,139)(74,27)])
}
Add(Button,6893416,140,105)
{
Width=184
Align=5
Caption="Вкл. прозрачность"
Point(doCaption)
link(onClick,7955996:doSwitch,[])
}
Add(Switch,7955996,182,105)
{
DataOn=String(Выкл. прозрачность)
DataOff=String(Вкл. прозрачность)
link(onSwitch,11648948:doEvent1,[])
}
Add(Hub,11648948,231,105)
{
link(onEvent1,6893416:doCaption,[(256,111)(256,97)(130,97)(130,111)])
link(onEvent2,15061766:onEvent2,[(275,118)(275,34)])
}
END_SDK
Add(GetDataEx,12939580,259,84)
{
link(Data,6168681:Handle,[])
}
Add(DeferredEvent,14165339,203,70)
{
link(onDeferredEvent,6168681:doClose,[])
}

карма: 15

0