Вверх ↑
Ответов: 698
Рейтинг: 143
#1: 2021-11-15 16:22:00 ЛС | профиль | цитата
envoy_sky писал(а):
Можете скинуть прогу и схему через которую меняли цвет?

Первую схему выкладывать не буду . Там всё криво и неоднозначно.
Я пошёл другим путём. Вот Предварительный результат.
Вроде всё работает, но это не точно.
Темная тема для Hiasm 2.PNG
И схема.
Add(MainForm,123844,217,203)
{
Width=268
Height=73
WinStyle=1
Caption="Темный фон"
BorderStyle=0
DragForm=0
Point(Handle)
Point(PHandle)
Point(onKeyDown)
link(onCreate,6616881:doEvent1,[])
link(onKeyDown,808238:doCheckMask,[(256,230)(256,244)(39,244)(39,279)])
}
Add(Hub,6616881,266,217)
{
OutCount=4
link(onEvent1,4866552:doPopup,[(291,223)(291,111)])
link(onEvent2,8677992:doData,[(298,230)(298,132)])
link(onEvent3,4502086:doTransparentOn,[(305,237)(305,181)])
link(onEvent4,14448231:doEvent1,[])
}
Add(Timer,16261105,259,273)
{
Interval=100
link(onTimer,14448231:doEvent2,[(295,279)(295,251)])
}
Add(WinTools,4866552,385,98)
{
Point(doAlphaBlendValue)
link(Handle,12345619:getVar,[])
}
Add(InlineCode,4502086,385,175)
{
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,541372:getVar,[])
}
Add(LineBreakEx,16074207,217,259)
{
Caption="h"
Type=3
link(_Data,123844:Handle,[])
}
Add(LineBreakEx,541372,385,147)
{
Caption="h"
Type=2
}
Add(LineBreakEx,12345619,385,63)
{
Caption="h"
Type=2
}
Add(DoData,8677992,329,126)
{
Data=Integer(200)
link(onEventData,4866552:doAlphaBlendValue,[])
}
Add(Hub,14448231,315,238)
{
InCount=2
OutCount=1
link(onEvent1,15114781:doFind,[])
}
Add(Hub,3916632,161,280)
{
link(onEvent1,16261105:doStop,[])
link(onEvent2,123844:doClose,[(186,293)(186,230)])
}
Add(KeyMask,808238,56,273)
{
Shift=1
Key=27
link(onTrue,1998301:doDeferredEvent,[])
}
Add(DeferredEvent,1998301,112,280)
{
link(onDeferredEvent,3916632:doEvent1,[])
}
Add(FindWindow,15114781,385,238)
{
ClassName="TForm1"
SkipParam=1
link(onFind,9911726:doWinInfo,[])
}
Add(WinInfo,9911726,455,238)
{
Point(Left)
Point(Top)
Point(Width)
Point(Height)
Point(ClientLeft)
link(onWinInfo,10625492:doCapture,[])
}
Add(Negative,9692135,609,238)
{
link(onResult,4106931:doLoad,[])
}
Add(Bitmap,4106931,665,238)
{
}
Add(ScreenShort,10625492,525,238)
{
link(onCapture,3355189:doEvent1,[])
link(Handle,15114781:Handle,[(531,229)(447,229)(447,278)(391,278)])
}
Add(Img_Bmp,13635248,658,315)
{
DrawSource=1
link(Bitmap,12906202:getVar,[(664,299)(636,299)])
link(SourceBitmap,4106931:Bitmap,[])
}
Add(Hub,3355189,574,238)
{
link(onEvent1,9692135:doNegative,[])
link(onEvent2,11870161:doEvent1,[(599,251)(599,286)(354,286)(354,342)])
}
Add(LineBreakEx,12906202,630,280)
{
Caption="h"
Type=2
}
Add(PosWindow,7041406,420,322)
{
link(Handle,56379:getVar,[(426,313)(398,313)])
link(Left,9911726:Left,[(433,292)(475,292)])
link(Top,9911726:Top,[(440,299)(482,299)])
}
Add(SizeWindow,8912309,476,350)
{
link(Handle,13610011:getVar,[(482,341)(461,341)])
link(Width,9911726:Width,[])
link(Height,9911726:Height,[])
}
Add(LineBreakEx,56379,392,294)
{
Caption="h"
Type=2
}
Add(LineBreakEx,13610011,455,308)
{
Caption="h"
Type=2
}
Add(Hub,11870161,364,336)
{
OutCount=5
link(onEvent1,7041406:doLeft,[(389,342)(389,328)])
link(onEvent2,7041406:doTop,[(396,349)(396,335)])
link(onEvent3,8912309:doWidth,[])
link(onEvent4,8912309:doHeight,[])
link(onEvent5,13635248:doDraw,[(515,370)(515,321)])
}

Внимание! Shift+Esc – для того чтобы остановить программу или через диспетчер.
карма: 15

0
Редактировалось 2 раз(а), последний 2021-11-15 17:08:30