// Es wird ein
Verschieben des Fensters verhindert. ... private { Private-Deklarationen } public procedure WMNChittest(var msg: TWMNChittest); message WM_NChittest; end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.WMNChittest(var msg: TWMNChittest); begin DefaultHandler(Msg); if Msg.result = HTCAPTION then Msg.result := HTCLIENT; end;
// Variante2:
Das Fenster kann zunächst verschoben werden, springt ... private { Private-Deklarationen } public procedure WMNChittest(var amsg: TWMNChittest); message WM_NChittest; procedure Mausfrage(var maus: TMessage); message WM_NCLBUTTONDOWN; end; var Form1: TForm1; implementation {$R *.DFM} const erlaubt: boolean = false; var merkx, merky: integer; procedure TForm1.FormCreate(Sender: TObject); begin merkx := left; merky := top; end; procedure TForm1.WMNChittest(var amsg: TWMNChittest); begin DefaultHandler(amsg); if amsg.result = HTCAPTION then erlaubt := true else erlaubt := false; end; procedure TForm1.Mausfrage(var maus: TMessage); begin DefaultHandler(maus); if (maus.result = 0) and erlaubt then setbounds(merkx, merky, width, height); end;
//------------------------------------------------------------- // Variante3: Das Fenster kann überhaupt nicht verschoben werden. procedure TForm1.FormCreate(Sender: TObject); var m: HMenu; begin m := GetSystemMenu(Form1.handle, false); RemoveMenu(m, $F010, MF_BYCOMMAND); end; |
Zugriffe seit 6.9.2001 auf Delphi-Ecke