|
| Submitted on: |
11/14/2001 3:14:27 AM |
| By: |
Mark van Renswoude
|
| Level: |
Beginner |
| User Rating: |
By 3 Users |
| Compatibility: |
Delphi 5, Delphi 4, Pre Delphi 4 |
| Views: |
14725 |
|
|
|
|
|
While looking at somebody else's code, I noticed he was doing all sorts of stuff with the MouseDown and MouseMove events. Here's a better way, it captures the WM_NCHITTEST message which Windows sends to make Windows think the user is clicking on the titlebar, thus moving the form...
|
| |
Terms of Agreement:
By using this article, you agree to the following terms...
- You may use
this article in your own programs (and may compile it into a program and distribute it in compiled format for languages that allow it) freely and with no charge.
- You MAY NOT redistribute this article (for example to a web site) without written permission from the original author. Failure to do so is a violation of copyright laws.
- You may link to this article from another website, but ONLY if it is not wrapped in a frame.
- You will abide by any additional copyright restrictions which the author may have placed in the article or article's description.
|
unit Unit1;
interface
uses
Windows,
Messages,
Forms;
type
TForm1 = class(TForm)
protected
procedure WMNCHitTest(var Msg: TWMNCHitTest); message WM_NCHITTEST;
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.WMNCHitTest(var Msg: TWMNCHitTest);
begin
// Call default procedure
inherited;
// Modify result to make windows think we're
// clicking on the titlebar when we're actually
// clicking on the client area...
if Msg.Result = HTCLIENT then
Msg.Result := HTCAPTION;
end;
end.
|
|
Other 3 submission(s) by this author
|
|
Report Bad Submission
|
Your Vote
|
| |
Other User Comments
|
11/20/2001 12:59:11 PM: Paul Harrison
What a wonderful explanation!
About 6 or 7 concepts are explained with 1 (oops, 2) lines of code.
Excellent (If this comment was disrespectful, please report it.)
|
8/5/2002 12:11:25 PM: Earl
Thank you. I was about to do that MouseXXX thing too. This is MUCH cleaner and simpler. (If this comment was disrespectful, please report it.)
|
10/17/2002 8:29:21 AM: Jason Myerscough
How could I make this code work when I click an image? instead of the form? (If this comment was disrespectful, please report it.)
|
3/17/2003 4:45:54 PM:
How would i be able to test when a user RIGHT clicks on the title bar only? thus then displaying a POPUPMENU when the user has done so? (If this comment was disrespectful, please report it.)
|
Add Your Feedback
Your feedback will be posted below and an email sent to
the author. Please remember that the author was kind enough to
share this with you, so any criticisms must be stated politely, or they
will be deleted. (For feedback not related to this particular article, please
click here instead.)
To post feedback, first please login.
|