// 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





