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

В следующем примере показано как можно передвигать форму если пользователь "захватил" 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.  
Теги:
передвижение формы
Добавлено: 31 Июля 2018 22:05:11 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...