SCAR Code:
procedure DragForm(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var sx,sy,tx,ty:integer;
begin
getmousepos(tx,ty);
repeat
getmousepos(sx,sy);
SpinForm.Top := SpinForm.Top - (ty-sy);
SpinForm.Left := SpinForm.Left - (tx-sx);
sleep(1);
tx := sx;
ty := sy;
until (not IsMouseButtonDown(True));
end;
procedure MakeForm;
begin
SpinForm := CreateForm;
with SpinForm do
begin
Caption := 'Main';
Position := poScreenCenter;
Width := 250;
Height := 500;
Color := clBlack;
Font.Color := clWhite;
Font.Height := -11;
Font.Name := 'MS Sans Serif';
Font.Style := [];
BorderStyle := bsNone;
OnMouseDown := @DragForm;
end;
Start := TButton.Create(SpinForm);
with Start do
begin
Parent := SpinForm;
Top := 450;
Left := 100;
Width := 50;
Height := 25;
Caption := 'Start!';
ModalResult := mrOk;
end;
User := Tlabel.Create(SpinForm);
with User do
begin
Parent := SpinForm;
Top := 100;
Left := 50;
Width := 48;
Height := 13;
Caption := 'Username';
end;
Pass := Tlabel.Create(SpinForm);
with Pass do
begin
Parent := SpinForm;
Top := 150;
Left := 50;
Width := 48;
Height := 13;
Caption := 'Password';
end;
Background := TImage.Create(SpinForm)
with Background do
begin
Parent := SpinForm;
Top := 0;
Left := 0;
Height := 500;
Width := 250;
OnMouseDown := @DragForm;
end;
F := BitmapFromString2(False, 'a47D1378DAC5964B92A3301005AF' +
'A42A7D5982C1F73FD250A9B22C1A3BA2A337D38B8C8CA732F613B' +
'6E81082B46738FFA49E887B3A59448DF171323F8B2D9A86B890A4' +
'C35856E30ED7F7BCBFB6D8AB4AB0ABE5DA4E6AC3F3FB9AC506435' +
'A0B97CE21D445DA11B7B8E541FDE2DFA8BFC8EFAE5FE6F5D757F8' +
'F65AFDD3E71CABAB0409EDC2605CEC8E19656208CBE46D399CF29' +
'1FBC965F2C6BD35CA0F6E135F89DDAC95F99E775FF1E5429B9C93' +
'C6647337D68985D5EA7C2705CF5F9826C69315BEDD3E83E24A2EE' +
'E01E78BE76EABB6C395DF446BEC275EF1DA0E6798DCB83B2D7FE0' +
'EC5563573D61DF1A3BD6D8B1B692AF23A96D99D82EB499EE85571' +
'5BC4E49C65F7C2709671F6069EC4CE397DAD899C63E3476A685C1' +
'626F184AA57B7DBA1B0FA74C7E5EA1B20FF5414EEBBAE19BBB4DD' +
'2DAB9B0FA6218DE58AD4ECB2B7927E7472D78C6E95B39BD6A244F' +
'7C1E853DD10B6D928E33CBD3696718ED2EDCC939E72EDEB9396D7' +
'2858BBB9D97E6D9938637F28AD7716AE6422FF78CD3B17082C252' +
'685422493F7195EB0889B0DABDF70A9CBED6EE454E71E7EE3C27F' +
'B09EDA451DE98A7C5A0250BDE2EB4BC3AC370BA3833B416292777' +
'F124E7882BAB4A42AF2C2482F72E3C3D3AD3F3FD5C4AD622A59DB' +
'CD3BE87393DDC6D669BB832BFB2BA4C6C4E195E2716F28267BC93' +
'5ECE38516F9489E1CD6877C7783E14E331989C34E2491B07C5931' +
'437A79C39BD225D2E6C83315626EBE405CF4E71266724A79DBBDE' +
'28378637D5DA19CD0FA7253BDEF998123AEA76E3CA8CFD9A54AD9' +
'72A8DF0E8CEFF1D4A3B679998075569EA9EC8D370D538185527CA' +
'C430A8B30B7D85BE729074D2EEC2C7A08AED80BA6F135766E8FB8' +
'16D62BD7967B931F35E9DF4953479BC51275A77813D797967E03A' +
'EC43787A32DC797CA4841DBFF3C1EA36A81F7C1D54F7E507D59DF' +
'D81E2AC833AF9792E9294E173A22193DC996E8C1F123BD5745A65' +
'6F3DE9945F33FC1FFE03773');
SafeCopyCanvas(GetBitmapCanvas(F),Background.Canvas,0,0,1,500,0,0,250,500)
F := BitmapFromString(1, 1, 'FFFFFF');
SafeCopyCanvas(GetBitmapCanvas(F),Background.Canvas,0,0,1,1,0,0,2,500)
SafeCopyCanvas(GetBitmapCanvas(F),Background.Canvas,0,0,1,1,248,0,250,500)
SafeCopyCanvas(GetBitmapCanvas(F),Background.Canvas,0,0,1,1,0,0,250,2)
SafeCopyCanvas(GetBitmapCanvas(F),Background.Canvas,0,0,1,1,0,498,250,500)
end;
procedure SafeShowSF;
var tva: TVariantArray;
begin
SetArrayLength(TVa, 0);
ThreadSafeCall('MakeForm', TVa);
end;
procedure ShowFormModal;
begin
SpinForm.ShowModal;
end;
procedure SafeShowFormModal;
var TVa: TVariantArray;
begin
SetArrayLength(TVa, 0);
ThreadSafeCall('ShowFormModal', TVa);
end;
procedure Form;
begin
SafeShowSF;
SafeShowFormModal;
end;