PostHeaderIconDelphi. Как сделать возможным передвижение формы?

В следующем примере показано как можно передвигать форму если пользователь "захватил" Client-пространство. Наиболее простое решение - "обмануть" Windows и Client-пространство выдать за заголовок окна.

unit DragMain;

interface

uses
  SysUtils, WinTypes, WinProcs,  Messages,
  Classes, Graphics, Controls, Forms, Dialogs, StdCrtls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure ButtonClick(Sender: TObject);
  private	
    procedure WMNCHitTest(var M: TWMNCHitTest);
                 message wm_NCCHitTest;
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1. WMNCHitTest(var M: TWMNCHitTest); 

begin
  inherited;
  if M.Result = htClient then
    M.Result := htCaption;
end;


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

end.
 
Copyright © 2007-2010 IsIProg.ru. All Rights Reserved.