Forms

Use image as backgroung of form

Posted in Forms

Use standard method of Form component (Brush method). This method has Bitmap method, which allows you to fill background of the form by images.

procedure TForm1.FormCreate(Sender: TObject);
var
  MyBitmap: TBitmap;
begin
  MyBitmap:=TBitmap.Create;
  MyBitmap.LoadFromFile('factory.bmp');
  Form1.Brush.Bitmap:=MyBitmap;
end;

Show/hide mouse cursor

Posted in Forms

Use for this ShowCursor function. If parameter of this function is False, then cursor will be hidden.

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowCursor(False);  // Hide cursor
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  ShowCursor(True);  // Show cursor
end;

Show text representation of form

Posted in Forms

To solve this problem, use ObjectBinaryToText procedure, which converts the binary representation of an object into text.

procedure TForm1.Button1Click(Sender: TObject);
var
  Source: TResourceStream;
  Dest: TMemoryStream;
begin
  Source:=TResourceStream.Create(hInstance, 'TFORM1', RT_RCDATA);
  Dest:=TMemoryStream.Create;
  Source.Position := 0;
  ObjectBinaryToText(Source, Dest);
  Dest.Position := 0;
  Memo1.Lines.LoadFromStream(Dest);
end;

Show own logo on start-up

Posted in Forms

Logo is a usual form. Put the Image and Timer components to the form and load a picture to Image. It is Form1 - it will be your logo. Remove from project file this line: Application.CreateForm(TForm2, Form2); Use the code written below. Your logo is ready.

(* It for Form1 *)
procedure TForm1.FormActivate(Sender: TObject);
begin
  Image1.Picture.LoadFromFile('
    c:\...\factory.bmp');
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Form1.Hide;
  Form2:=TForm2.Create(nil);
  with TForm2.Create(nil) do
    Show;
end;

(* It for Form2 *)
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Form1.Close;
end;

Show input dialog box

Posted in Forms

Call InputBox function to bring up an input dialog box ready for the user to enter a string in its edit box.

procedure TForm1.Button1Click(Sender: TObject);
begin
  Label1.Caption:=InputBox('Question', 'Enter string', 'Default');
end;