схема
Add(MainForm,2953706,119,91)
{
Width=429
Height=381
Position=1
link(onCreate,4731668:doEvent1,[])
}
Add(Memory,4192986,378,161)
{
Default=Integer(1)
}
Add(Memory,9679428,315,154)
{
@Hint=#12:путь к файлу|
Default=String(cold.asz)
AddHint(-9,-38,80,13,@Hint)
}
Add(InlineCode,12083863,315,217)
{
DataPoints=#8:SkinName|7:SkinDir|9:ExtBorder|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|33:uses kol,windows,Share,Debug,win;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|17: c: PControl;|19: sn,sd: string;|17: eb: integer;|14: SkinName,|13: SkinDir,|26: ExtBorder: THI_Event;|24: constructor Create;|20: procedure Init;|3: |6: end; |40: procedure SetSkinForm(ASkin: PChar; |43: ASkinDir: PChar; |54: ExtBord: Boolean); stdcall; |63: external 'SF.dll' name 'SetSkinForm';|0:|14:implementation|0:|31:constructor THiAsmClass.Create;|5:begin|16: InitAdd(Init);|4:end;|0:|0:|27:procedure THiAsmClass.Init;|14:var dt: TData;|15: l: integer;|15: b: boolean;|21: st: TWindowState;|5:begin|26: c := Applet.Children[0];|24: st := c.WindowState; |35: eb := ReadInteger(dt, ExtBorder);|12: case eb of|18: 0: b := False;|17: 1: b := True;|8: end; |37: sd := ReadString(dt, SkinDir, '.');|34: sn := ReadString(dt, SkinName,);|18: l := Length(sd);|38: if sd[l] <> '\' then sd := sd + '\';|30: if FileExists(sd + sn) then |7: begin|41: SetSkinForm(PChar(sn), PChar(sd), b);|54: // тупое дёргание для избежания глюка с TabControl|11: c.Hide;|28: c.Width := c.Width + 1; |30: c.Height := c.Height + 1; |27: c.ProcessPaintMessages;|24: c.WindowState := st;|15: c.Show; |9: end; |4:end;|0:|15:initialization |66: // Можно и так инициализировать (InitAdd(Init); закоментировать)|60: //SetSkinForm('Office2007 Black.asz', 'C:\Skins\', False);|58: //SetSkinForm('Matrix_contrast.asz', 'C:\Skins\', True);|4:end.|
link(SkinName,9679428:Value,[])
link(ExtBorder,4192986:Value,[(335,205)(384,205)])
}
Add(Button,14389453,28,161)
{
Left=50
Top=90
link(onClick,15386250:doExecute,[])
}
Add(ODialog,15386250,77,161)
{
link(onExecute,9785985:doEvent1,[])
}
Add(Ini,2151906,224,154)
{
FileName="set.ini"
Section="thema"
Key="skin"
Type=1
link(onResult,9679428:doValue,[])
link(FileName,15093261:FString,[])
}
Add(Dir,15855472,224,49)
{
}
Add(FormatStr,15093261,224,105)
{
Mask="%1\set.ini"
Point(FString)
link(Str1,15855472:CurrentDir,[])
}
Add(Hub,4731668,168,105)
{
link(onEvent1,15093261:doString,[])
link(onEvent2,2151906:doRead,[(203,118)(203,160)])
}
Add(FilePartElm,13029901,168,161)
{
link(onPart,2151906:doWrite,[])
}
Add(Hub,9785985,119,161)
{
link(onEvent1,13029901:doPart,[])
link(onEvent2,2953706:doClose,[(145,174)(145,146)(107,146)(107,118)])
}
skin.jpg
а вот архив в темами http://forum.hiasm.com/getfile/38073
при выборе программа закрывается, по идее нужно перезапускать что бы применить тему
--- Добавлено в 2017-03-28 16:02:36
кодировка ,еще кудато меняется, если обзор открыть, там внизу видно что кирилицу не понимает