//Windows Phone Technology v4.1 created by Razor12911
[code]
type
TCusBtn = record
Base, Top: TPanel;
ModalBtn : TButton;
end;
type
TCusChk = record
Base, Mid, Top: TPanel;
Labl: TLabel;
IsChecked, IsEnabled: Boolean;
end;
type
TCusEdt = record
Base, Top: TPanel;
end;
type
TCusPBR = record
Base, Mid, Top: TPanel;
end;
var
BackBtn, NextBtn, BrowseBtn, GroupBrowseBtn, ExitBtn, CancelNoBtn: TCusBtn;
DesktopChk, StartIconChk, Redist1, Redist2, Redist3, Redist4, Redist5: TCusChk;
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
procedure ButtonDisabled(Sender:TObject);
begin
end;
procedure ButtonEnter(var Button: TCusBtn);
begin
Button.Base.Color := {#FontColor};
Button.Top.Color := $252525;
Button.Top.Font.Color := {#FontColor};
end;
procedure ButtonLeave(var Button: TCusBtn);
begin
Button.Base.Color := $FFFFFF;
Button.Top.Color := $252525;
Button.Top.Font.Color := $FFFFFF;
end;
procedure ButtonDown(var Button: TCusBtn);
begin
Button.Base.Color := {#FontColor};
Button.Top.Color := {#FontColor};
Button.Top.Font.Color := $252525;
end;
procedure ButtonUp(var Button: TCusBtn);
begin
Button.Base.Color := {#FontColor};
Button.Top.Color := $252525;
Button.Top.Font.Color := {#FontColor};
end;
procedure ButtonOnEnter(Sender: TObject);
begin
case Sender of
BackBtn.Top: ButtonEnter(BackBtn);
NextBtn.Top: ButtonEnter(NextBtn);
BrowseBtn.Top: ButtonEnter(BrowseBtn);
GroupBrowseBtn.Top: ButtonEnter(GroupBrowseBtn);
ExitBtn.Top: ButtonEnter(ExitBtn);
end;
end;
procedure ButtonOnLeave(Sender: TObject);
begin
case Sender of
BackBtn.Top: ButtonLeave(BackBtn);
NextBtn.Top: ButtonLeave(NextBtn);
BrowseBtn.Top: ButtonLeave(BrowseBtn);
GroupBrowseBtn.Top: ButtonLeave(GroupBrowseBtn);
ExitBtn.Top: ButtonLeave(ExitBtn);
end;
end;
procedure ButtonOnDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
case Sender of
BackBtn.Top: ButtonDown(BackBtn);
NextBtn.Top: ButtonDown(NextBtn);
BrowseBtn.Top: ButtonDown(BrowseBtn);
GroupBrowseBtn.Top: ButtonDown(GroupBrowseBtn);
ExitBtn.Top: ButtonDown(ExitBtn);
end;
end;
procedure ButtonOnUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
case Sender of
BackBtn.Top: ButtonUp(BackBtn);
NextBtn.Top: ButtonUp(NextBtn);
BrowseBtn.Top: ButtonUp(BrowseBtn);
GroupBrowseBtn.Top: ButtonUp(GroupBrowseBtn);
ExitBtn.Top: ButtonUp(ExitBtn);
end;
end;
function ButtonGetText(var Button: TCusBtn):String;
begin
Result := Button.Top.Caption;
end;
procedure ButtonSetText(var Button: TCusBtn; hText: String);
begin
Button.Top.Caption := hText;
end;
procedure ButtonSetVisibility(var Button: TCusBtn; hVisible: Boolean);
begin
Button.Base.Visible := hVisible;
end;
procedure ButtonSetEnabled(var Button: TCusBtn; hEnabled: Boolean);
begin
Button.Base.Enabled := hEnabled;
if hEnabled then
begin
Button.Base.Color := $FFFFFF;
Button.Top.Font.Color := $FFFFFF;
end else begin
Button.Base.Color := $AAAAAA;
Button.Top.Font.Color := $AAAAAA;
end;
end;
procedure ButtonSetEvent(var Button: TCusBtn; Event: TNotifyEvent);
begin
Button.Top.OnClick := Event;
end;
procedure ButtonModal(var Button: TCusBtn);
begin
Button.ModalBtn.Click;
end;
function ButtonCreate(hParent: TWinControl; hLeft, hTop, hWidth, hHeight: Integer; SmallButton: Boolean;Modal: Integer): TCusBtn;
begin
Result.Base := TPanel.Create(hParent);
with Result.Base do
begin
Parent := hParent;
Left := hLeft;
Top := hTop;
Width := hWidth;
Height := hHeight;
Color := $FFFFFF;
BorderStyle := bsNone;
BevelInner := bvNone;
BevelOuter := bvNone;
BorderWidth := 0;
ParentBackground := False;
end;
Result.Top := TPanel.Create(Result.Base);
with Result.Top do
begin
Parent:=Result.Base;
Left := 1;
Top := 1;
Width := hWidth - 2;
Height := hHeight - 2;
with Font do
begin
Name := '{#FontName}';
if SmallButton then
Size := 9
else
Size := 11;
Color := $FFFFFF;
end;
OnMouseEnter := @ButtonOnEnter;
OnMouseLeave := @ButtonOnLeave;
OnMouseDown := @ButtonOnDown;
OnMouseUp := @ButtonOnUp;
Color := $252525;
BorderStyle := bsNone;
BevelInner := bvNone;
BevelOuter := bvNone;
BorderWidth := 0;
ParentBackground := False;
end;
Result.ModalBtn := TButton.Create(hParent);
with Result.ModalBtn do
begin
SetBounds(0,0,0,0);
ModalResult := Modal;
Parent := hParent;
end;
end;
procedure CheckBoxDisabled(Sender:TObject);
begin
end;
procedure CheckBoxEnter(var CheckBox: TCusChk);
begin
if CheckBox.IsChecked then
begin
CheckBox.Base.Color := {#FontColor};
CheckBox.Top.Color := $FFFFFF;
CheckBox.Labl.Font.Color := {#FontColor};
end else begin
CheckBox.Base.Color := {#FontColor};
CheckBox.Top.Color := $252525;
CheckBox.Labl.Font.Color := {#FontColor};
end;
end;
procedure CheckBoxLeave(var CheckBox: TCusChk);
begin
if CheckBox.IsChecked then
begin
CheckBox.Base.Color := {#FontColor};
CheckBox.Top.Color := {#FontColor};
CheckBox.Labl.Font.Color := $FFFFFF;
end else begin
CheckBox.Base.Color := $FFFFFF;
CheckBox.Top.Color := $252525;
CheckBox.Labl.Font.Color := $FFFFFF;
end;
end;
procedure CheckBoxDown(var CheckBox: TCusChk);
begin
if CheckBox.IsChecked then
begin
CheckBox.Base.Color := {#FontColor};
CheckBox.Top.Color := $252525;
CheckBox.Labl.Font.Color := $FFFFFF;
end else begin
CheckBox.Base.Color := {#FontColor};
CheckBox.Top.Color := {#FontColor};
CheckBox.Labl.Font.Color := $FFFFFF;
end
end;
procedure CheckBoxUp(var CheckBox: TCusChk);
begin
if CheckBox.IsChecked then
begin
CheckBox.Base.Color := {#FontColor};
CheckBox.Top.Color := $FFFFFF;
CheckBox.Labl.Font.Color := {#FontColor};
end else begin
CheckBox.Base.Color := {#FontColor};
CheckBox.Top.Color := $252525;
CheckBox.Labl.Font.Color := {#FontColor};
end;
end;
procedure CheckBoxClick(var CheckBox: TCusChk);
begin
CheckBox.IsChecked := not CheckBox.IsChecked;
end;
procedure CheckBoxOnEnter(Sender: TObject);
begin
case Sender of
DesktopChk.Top: CheckBoxEnter(DesktopChk);
StartIconChk.Top: CheckBoxEnter(StartIconChk);
Redist1.Top: CheckBoxEnter(Redist1);
Redist2.Top: CheckBoxEnter(Redist2);
Redist3.Top: CheckBoxEnter(Redist3);
Redist4.Top: CheckBoxEnter(Redist4);
Redist5.Top: CheckBoxEnter(Redist5);
end;
end;
procedure CheckBoxOnLeave(Sender:TObject);
begin
case Sender of
DesktopChk.Top: CheckBoxLeave(DesktopChk);
StartIconChk.Top: CheckBoxLeave(StartIconChk);
Redist1.Top: CheckBoxLeave(Redist1);
Redist2.Top: CheckBoxLeave(Redist2);
Redist3.Top: CheckBoxLeave(Redist3);
Redist4.Top: CheckBoxLeave(Redist4);
Redist5.Top: CheckBoxLeave(Redist5);
end;
end;
procedure CheckBoxOnDown(Sender:TObject; CheckBox:TMouseButton; Shift:TShiftState; X, Y:Integer);
begin
case Sender of
DesktopChk.Top: CheckBoxDown(DesktopChk);
StartIconChk.Top: CheckBoxDown(StartIconChk);
Redist1.Top: CheckBoxDown(Redist1);
Redist2.Top: CheckBoxDown(Redist2);
Redist3.Top: CheckBoxDown(Redist3);
Redist4.Top: CheckBoxDown(Redist4);
Redist5.Top: CheckBoxDown(Redist5);
end;
end;
procedure CheckBoxOnClick(Sender:TObject);
begin
case Sender of
DesktopChk.Top: CheckBoxClick(DesktopChk);
StartIconChk.Top: CheckBoxClick(StartIconChk);
Redist1.Top: CheckBoxClick(Redist1);
Redist2.Top: CheckBoxClick(Redist2);
Redist3.Top: CheckBoxClick(Redist3);
Redist4.Top: CheckBoxClick(Redist4);
Redist5.Top: CheckBoxClick(Redist5);
end;
end;
procedure CheckBoxOnUp(Sender:TObject; CheckBox:TMouseButton; Shift:TShiftState; X, Y:Integer);
begin
case Sender of
DesktopChk.Top: CheckBoxUp(DesktopChk);
StartIconChk.Top: CheckBoxUp(StartIconChk);
Redist1.Top: CheckBoxUp(Redist1);
Redist2.Top: CheckBoxUp(Redist2);
Redist3.Top: CheckBoxUp(Redist3);
Redist4.Top: CheckBoxUp(Redist4);
Redist5.Top: CheckBoxUp(Redist5);
end;
end;
procedure CheckBoxSetText(var CheckBox: TCusChk; hText: String);
begin
CheckBox.Top.Caption:=hText;
end;
procedure CheckBoxSetVisibility(var CheckBox: TCusChk; hVisible: Boolean);
begin
CheckBox.Base.Visible := hVisible;
CheckBox.Labl.Visible := hVisible;
end;
procedure CheckBoxSetEnabled(var CheckBox: TCusChk; hEnabled: Boolean);
begin
CheckBox.Base.Enabled := hEnabled;
CheckBox.IsEnabled := hEnabled;
if hEnabled then
begin
CheckBox.Base.Color := $FFFFFF;
CheckBox.Top.Color := $FFFFFF;
CheckBox.Labl.Font.Color := $FFFFFF;
end else begin
if CheckBox.IsEnabled then
begin
CheckBox.Base.Color := $AAAAAA;
CheckBox.Top.Color := $AAAAAA;
CheckBox.Labl.Font.Color := $AAAAAA;
end else begin
CheckBox.Base.Color := $AAAAAA;
CheckBox.Top.Color := $252525;
CheckBox.Labl.Font.Color := $AAAAAA;
end;
end;
end;
procedure CheckBoxSetChecked(var CheckBox: TCusChk; hChecked: Boolean);
begin
CheckBox.IsChecked := hChecked;
if CheckBox.IsEnabled then
begin
if hChecked then
begin
CheckBox.Base.Color := {#FontColor};
CheckBox.Top.Color := {#FontColor};
CheckBox.Labl.Font.Color := $FFFFFF;
end else begin
CheckBox.Base.Color := $FFFFFF;
CheckBox.Top.Color := $252525;
CheckBox.Labl.Font.Color := $FFFFFF;
end;
end else begin
if hChecked then
begin
CheckBox.Base.Color := $AAAAAA;
CheckBox.Top.Color := $AAAAAA;
CheckBox.Labl.Font.Color := $AAAAAA;
end else begin
CheckBox.Base.Color := $AAAAAA;
CheckBox.Top.Color := $252525;
CheckBox.Labl.Font.Color := $AAAAAA;
end;
end;
end;
function CheckBoxGetChecked(var CheckBox: TCusChk): Boolean;
begin
Result := CheckBox.IsChecked;
end;
procedure CheckBoxSetEvent(var CheckBox: TCusChk; Event: TNotifyEvent);
begin
if CheckBox.IsChecked then
CheckBox.Top.OnClick := Event;
end;
function CheckBoxCreate(hParent :TWinControl; hLeft, hTop, hWidth, hHeight: Integer; hText: String): TCusChk;
begin
Result.IsEnabled := True;
Result.Base := TPanel.Create(hParent);
with Result.Base do
begin
Parent := hParent;
Left := hLeft;
Top := hTop;
Width := hWidth;
Height := hHeight;
Color := $FFFFFF;
BorderStyle := bsNone;
BevelInner := bvNone;
BevelOuter := bvNone;
BorderWidth := 0;
ParentBackground := False;
end;
Result.Mid := TPanel.Create(Result.Base);
with Result.Mid do
begin
Parent := Result.Base;
Left := 1;
Top := 1;
Width := hWidth - 2;
Height := hHeight - 2;
Color := $252525;
BorderStyle := bsNone;
BevelInner := bvNone;
BevelOuter := bvNone;
BorderWidth := 0;
ParentBackground := False;
end;
Result.Top := TPanel.Create(Result.Mid);
with Result.Top do
begin
Parent := Result.Mid;
Left := 1;
Top := 1;
Width := hWidth - 4;
Height := hHeight - 4;
OnMouseEnter := @CheckBoxOnEnter;
OnMouseLeave := @CheckBoxOnLeave;
OnMouseDown := @CheckBoxOnDown;
OnMouseUp := @CheckBoxOnUp;
OnClick := @CheckBoxOnClick;
Color := $252525;
BorderStyle := bsNone;
BevelInner := bvNone;
BevelOuter := bvNone;
BorderWidth := 0;
ParentBackground := False;
end;
Result.Labl := TLabel.Create(hParent);
with Result.Labl do
begin
Parent := hParent;
OnMouseEnter := @CheckBoxOnEnter;
OnMouseLeave := @CheckBoxOnLeave;
OnMouseDown := @CheckBoxOnDown;
OnMouseUp := @CheckBoxOnUp;
Layout := tlCenter;
with Font do
begin
Name := '{#FontName}';
Size := 10;
Color := $FFFFFF;
end;
SetBounds((hLeft + hWidth) + 5,hTop,0,0);
Caption := hText
end;
end;
function EditGetText(var Edit: TCusEdt):String;
begin
Result := Edit.Top.Caption;
end;
procedure EditSetText(var Edit: TCusEdt; hText: String);
begin
Edit.Top.Caption := hText;
end;
procedure EditSetVisibility(var Edit: TCusEdt; hVisible: Boolean);
begin
Edit.Base.Visible := hVisible;
end;
procedure EditSetEvent(var Edit: TCusEdt; Event: TNotifyEvent);
begin
Edit.Top.OnClick := Event;
end;
function EditCreate(hParent :TWinControl; hLeft, hTop, hWidth, hHeight: Integer): TCusEdt;
begin
Result.Base := TPanel.Create(hParent);
with Result.Base do
begin
Parent := hParent;
Left := hLeft;
Top := hTop;
Width := hWidth;
Height := hHeight;
Color := {#FontColor};
BorderStyle := bsNone;
BevelInner := bvNone;
BevelOuter := bvNone;
BorderWidth := 0;
ParentBackground := False;
end;
Result.Top := TPanel.Create(Result.Base);
with Result.Top do
begin
Parent := Result.Base;
Alignment := taLeftJustify;
Left := 1;
Top := 1;
Width := hWidth - 2;
Height := hHeight - 2;
with Font do
begin
Name := '{#FontName}';
Size := 8;
Color := {#FontColor};
end;
Color := $252525;
BorderStyle := bsNone;
BevelInner := bvNone;
BevelOuter := bvNone;
BorderWidth := 0;
ParentBackground := False;
end;
end;
function ProgressGetProgress(var Progress: TCusPBr): Extended;
begin
if Progress.Base.Width <> 0 then
Result :=(Progress.Top.Width * 100) / (Progress.Base.Width) - 6
else
Result := 0;
end;
procedure ProgressSetProgress(var Progress: TCusPBr; hValue: Extended);
begin
Progress.Top.Width := Round(((Progress.Base.Width) - 6) * hValue / 100);
end;
procedure ProgressSetVisibility(var Progress: TCusPBr; hVisible: Boolean);
begin
Progress.Base.Visible := hVisible;
end;
procedure ProgressSetEvent(var Progress: TCusPBr; Event: TNotifyEvent);
begin
Progress.Top.OnClick := Event;
end;
function ProgressCreate(hParent :TWinControl; hLeft, hTop, hWidth, hHeight: Integer): TCusPBr;
begin
Result.Base := TPanel.Create(hParent);
with Result.Base do
begin
Parent := hParent;
Left := hLeft;
Top := hTop;
Width := hWidth;
Height := hHeight;
Color := {#FontColor};
BorderStyle := bsNone;
BevelInner := bvNone;
BevelOuter := bvNone;
BorderWidth := 0;
ParentBackground := False;
end;
Result.Mid := TPanel.Create(Result.Base);
with Result.Mid do
begin
Parent := Result.Base;
Left := 1;
Top := 1;
Width := hWidth - 2;
Height := hHeight - 2;
Color := $252525;
BorderStyle := bsNone;
BevelInner := bvNone;
BevelOuter := bvNone;
BorderWidth := 0;
ParentBackground := False;
end;
Result.Top := TPanel.Create(Result.Mid);
with Result.Top do
begin
Parent := Result.Mid;
Left := 2;
Top := 2;
Width := 0;
Height := hHeight - 6;
with Font do
begin
Name := '{#FontName}';
Size := 8;
Color := $252525;
end;
Color := {#FontColor};
BorderStyle := bsNone;
BevelInner := bvNone;
BevelOuter := bvNone;
BorderWidth := 0;
ParentBackground := False;
end;
end;
//Windows Phone Technology v4.1 created by Razor12911