| |
| 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;
|
|
| Hits/month |
2,500,000+ |
Downloads (Since May 2000) |
7,393,709 |
| Total Files |
6,023 |
| Forum msgs |
7,670 |
| Articles/FAQs |
70+/900+ |
Top Selling Software at Amazon
|