Delphi32.com - Home!
| Home/News | Downloads | Forums | D32 Magazine | Resources | Info and Facts |  
 
 Moving a form by clicking in its client area


How can I make a form move by clicking and dragging in the client area instead of on the caption bar?   

    You could trap the mouse move messages, and move the form based on the net movement of the mouse. An easy way to achieve the same result is to make Windows believe the caption bar was clicked on by trapping and modifying the WM_NCHITTEST message.

    Example:
    type
      TForm  = class(TForm)
      private
        { Private declarations }
      public
        procedure WMNCHitTest(var M: TWMNCHitTest); 
          message WM_NCHITTEST;
        { Public declarations }
      end;
    var
      Form : TForm ;
    implementation
    {$R *.DFM}
    procedure TForm .WMNCHitTest(var M: TWMNCHitTest);
    begin
      inherited;
     {If the client has been clicked, make Windows believe}
     {it was the caption bar that was clicked on}
      if  M.Result = htClient then
        M.Result := htCaption;
    end;
    

     



  << Previous Faq     Complete List     Next Faq >>  



 
 Hits/month  2,500,000+ 
 Downloads
 (Since May 2000)
 7,393,709 
 Total Files  6,023 
 Forum msgs  7,670 
 Articles/FAQs  70+/900+ 
Kylix
Tips n Tricks
FAQs
Knowledge Base
Bug Listings
Articles
Books
Newsgroups
Links
Submissions
Testimonials
Advertising
Contact Us
About Us
Search Amazon:
Top Selling Software at Amazon

| Home/News | Downloads | Forums | Resources | Info and Facts | Testimonials |
  Site Search:
 


Comments/Problems: Webmaster@delphi32.com
Copyright © 1998-2006, Delphi32.com. All rights reserved.
Terms of Use