Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8142865
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 6, 20262026-06-06T12:56:20+00:00 2026-06-06T12:56:20+00:00

I have a Delphi XE2 project having components like Label1 , BitBtn1 and Image1

  • 0

I have a Delphi XE2 project having components like Label1, BitBtn1 and Image1. I have implemented form dragging without the caption bar writing the following code:

  private
    { Private declarations }
    procedure WMNCHitTest(var Msg: TWMNCHitTest) ; message WM_NCHitTest;

and

procedure TMainForm.WMNCHitTest(var Msg: TWMNCHitTest) ;
begin
  inherited;
  if Msg.Result = htClient then Msg.Result := htCaption;
end;

In my form, the Image1.OnMouseMove and Label1.OnClick events are compulsory for my project, but they are not working. How can I drag the form from the client area except the Image1 and Label1 areas? I can do one thing that I may use one TPanel, but it will destroy the GlassFrame and SheetOfGlass properties of my form.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-06T12:56:22+00:00Added an answer on June 6, 2026 at 12:56 pm

    You will need to use the position information that is included in the WM_NCHITTEST message. Use that to determine whether or not there is a control present at that point. For example you could use the ControlAtPos method.

    procedure TMainForm.WMNCHitTest(var Msg: TWMNCHitTest);
    begin
      inherited;
      if ControlAtPos(ScreenToClient(Msg.Pos), True, True, True)=nil then
        if Msg.Result=htClient then
          Msg.Result := htCaption;
    end;
    

    This will allow dragging only if you have clicked on a point on the form at which there is no control present. You may wish to use an alternative criteria, but use of Msg.Pos is the key idea.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have developed an database application with Delphi XE2 using an Access DB, now
Is Delphi have any ability to write script of IDE actions? I would like
I have a Delphi 6 application that uses the Indy 9 components to maintain
I have a Delphi application that has a document browser as the main form.
I have a Delphi (2007) project which, when I opened it, gave a very
I have ZipForge for Delphi XE2 & Delphi XE2. I try to test any
Delphi XE2. There is a form & a frame. The form and the frame
I have a Delphi XE2 Firemonkey application that I want to run on both
Here I have my Windows laptop with Delphi XE2 and Firemonkey. I've written a
Delphi-XE2 does not seem to have a TExcelWorksheet component. How do I get the

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.