- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
function RegisterSceenButton(Caption:shortstring;Rect:trect;dx,dy,ShadowWidth:dword;Style:dword;VerticalGradient,VerticalGradientifMouse,VerticalGradientIfClick:bool;TextColor,ColorTop,ColorBottom,TextColorIfMouse,ColorTopIfMouse,ColorBottomIfMouse,TextColorIfClick,ColorTopIfClick,ColorBottomIfClick,LeftTopColor,RightBottomColor:dword;pushProc:tSBPushProc;Surface:idirectdrawsurface7):dword;
var i:dword;
begin
result:=0;
for i:=1 to SMaxSceenButton do
if SceenButton[i].isNotEmpty=false then break;
if i=SMaxSceenButton then exit;
ZeroMemory(@SceenButton[i],sizeof(SceenButton[i]));
SceenButton[i].Caption:=caption;
SceenButton[i].PushProc:=@pushproc;
SceenButton[i].Rect:=rect;
SceenButton[i].dx:=dx;
SceenButton[i].dy:=dy;
SceenButton[i].TextColor:=textcolor;
SceenButton[i].ColorTop:=ColorTop;
SceenButton[i].ColorBottom:=ColorBottom;
SceenButton[i].TextColorIfMouse:=textcolorifmouse;
SceenButton[i].ColorTopIfMouse:=colorTopifmouse;
SceenButton[i].ColorBottomIfMouse:=colorBottomifmouse;
SceenButton[i].LeftTopColor:=lefttopcolor;
SceenButton[i].RightBottomColor:=rightbottomcolor;
SceenButton[i].ShadowWidth:=ShadowWidth;
SceenButton[i].TextColorIfClick:=textcolorifclick;
SceenButton[i].ColorTopIfClick:=colorTopifclick;
SceenButton[i].ColorBottomIfClick:=colorBottomifclick;
SceenButton[i].surface:=surface;
SceenButton[i].Style:=Style;
SceenButton[i].VerticalGradient:=VerticalGradient;
SceenButton[i].VerticalGradientIfMouse:=VerticalGradientIfMouse;
SceenButton[i].VerticalGradientIfClick:=VerticalGradientIfClick;
SceenButton[i].state:=SSTB_Normal;
SceenButton[i].isNotEmpty:=true;
SceenButton[i].State:=SSTB_normal;
result:=i;
end;
Программа, полностью на скинах через DDraw. Гуевое лишь POPUP окно. Зачем мне было это нужно? Работает только в 32битном режиме. В остальных глючит. :D