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.
aku coba kok g bisa y??
tolong lebih diperjelas lagi…
aku errornya di message WM_MOVE…
makasih…
halo, salam kenal bejitalun.. ini saya emailkan file sourcenya dan bisa dijalankan, semoga bisa memperjelas.. Trims
wah…makasih banget mas..
ternyata langsung dikirim…
thanx yaw….
semoga update terus…
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
bisa dicoba
MoveWindow(Form2.Handle, Form1.Left+Form1.Width+5, Form1.Top, Form2.Width,diganti denganMoveWindow(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 denganStayOnTopmakasih mas….
ternyata kelewatan waktu baca propertynya
makasih…sekarang dah bisa dibuat untuk ‘ngakali’ program..
hehe….