Home > Pemrograman > Dua Form yang beriringan

Dua Form yang beriringan

Kadangkala diperlukan dua buah form, misalnya form1 dan form2 berjalan beriringan. Maksudnya beriringan yaitu bila form1 sebagai form utama dipindah/didrag maka form2 juga mengikuti pergerakan form1 itu kemanapun posisi pindahnya ya.. form2 yang setia sama form1 ceritanya.
Prosesnya pada message WM_MOVE yang muncul bila form1 digerakkan dan fungsi windows API MoveWindow untuk menggerakkan form2 ke posisi form1 yang baru :
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
procedure FormShow(Sender: TObject);
private
{ Private declarations }
{ meng-override message WM_MOVE}
procedure WMMove(var Msg: TWMMove); message WM_MOVE;
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.FormShow(Sender: TObject);
begin
form2.Show;
end;

{procedure berikut akan dijalankan bila form1/window utama digerakkan/moved}
procedure TForm1.WMMove(var Msg: TWMMove);
begin
{if the toolbar window exists...}
if Form2<>nil then
{...move the toolbar window alongside the main window.}
MoveWindow(Form2.Handle, Form1.Left+Form1.Width+5, Form1.Top, Form2.Width,
Form2.Height, true);
end;

end.

Categories: Pemrograman
  1. January 10, 2008 at 1:58 am | #1

    aku coba kok g bisa y??
    tolong lebih diperjelas lagi…
    aku errornya di message WM_MOVE…
    makasih…

  2. January 10, 2008 at 4:46 am | #2

    halo, salam kenal bejitalun.. ini saya emailkan file sourcenya dan bisa dijalankan, semoga bisa memperjelas.. Trims

  3. January 10, 2008 at 11:49 am | #3

    wah…makasih banget mas..
    ternyata langsung dikirim…
    thanx yaw….

    semoga update terus…

  4. January 11, 2008 at 12:01 am | #4

    tanya lg mas…
    aku pengennya form2 da di atas form1….bisa g?
    jadi kl form1 dipindahkn kemana2,form2 ttp berada diats form1 & bisa dilihat,mis: edit1 pd form2 ttp bs dlht di ats form1.
    tadi dah ku cari caranya blm ketemu2..sapa tau anda tau…
    trims

  5. ctrlf9
    January 11, 2008 at 1:27 am | #5

    bisa dicoba MoveWindow(Form2.Handle, Form1.Left+Form1.Width+5, Form1.Top, Form2.Width, diganti dengan MoveWindow(Form2.Handle, Form1.Left, Form1.Top+30, Form2.Width, karena bagian ini yang ngatur posisi form2, agar form2 diatas form1 property Form Style di form2 diganti dengan StayOnTop

  6. January 11, 2008 at 2:43 am | #6

    makasih mas….
    ternyata kelewatan waktu baca propertynya :D
    makasih…sekarang dah bisa dibuat untuk ‘ngakali’ program..
    hehe….

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.