Советы по Delphi

         

Перемещение формы не за заголовок III


Ситников Митрий советует:

В следующем примере показано как можно передвигать форму если пользователь "захватил" Client-пространство:

    unit Main;

interface

uses

SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type


TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); private { Private declarations } public { Public declarations } end;
var
Form1: TForm1; MX: integer; MY: integer;
implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
Close; end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer); begin
if
Shift<>[ssLeft] then begin MX:=X; MY:=Y; end else begin Left:=Left+X-MX; Top:=Top+Y-MY; end; end;

end.

[001076]



Содержание раздела