C++ MFC

Moderators: Lundin
Number of threads: 3337
Number of posts: 9005

This Forum Only
Post New Thread
Single Post View       Linear View       Threaded View      f

Report
OnMouseDown event for a button Posted by MartinS on 3 Aug 2002 at 1:41 PM
i have a dialog with a button placed on it. when the programm is running i want to trigger the WM_LBUTTONDOWN-Message on the button, that's why i've implemented the following function:
void CTestDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
CRect Rect;
Button1.GetWindowRect(Rect);//Breakpt
ClientToScreen(&point);
if (Rect.PtInRect(point))
Button1.SetWindowText("Release me!");

CDialog::OnLButtonDown(nFlags, point);
}
The curios thing about that function is that it is being called when i perform the mouse-down event ontop of the window. but when i perform the mouse-down event ontop of the button, then it is not called, because there is no break at the breakpoint.
does anyone know how to fix that???
Report
Re: OnMouseDown event for a button Posted by Spooky on 16 Aug 2002 at 11:45 AM

Hi.

This is just a suggestion as I didn't try it out, but it might help:
The WM_LBUTTONDOWN is sent to the button, not to your dialog, that's why your dialog doesn't recieve it. Add a message handler for the button too and you have solved the problem.
If you still want your main window to get the WM_LBUTTONDOWN message even if it's on the button, you can send this message from the button's message handler to it's parent window.
Hope this helps.

: i have a dialog with a button placed on it. when the programm is running i want to trigger the WM_LBUTTONDOWN-Message on the button, that's why i've implemented the following function:
: void CTestDlg::OnLButtonDown(UINT nFlags, CPoint point)
: {
: CRect Rect;
: Button1.GetWindowRect(Rect);//Breakpt
: ClientToScreen(&point);
: if (Rect.PtInRect(point))
: Button1.SetWindowText("Release me!");
:
: CDialog::OnLButtonDown(nFlags, point);
: }
: The curios thing about that function is that it is being called when i perform the mouse-down event ontop of the window. but when i perform the mouse-down event ontop of the button, then it is not called, because there is no break at the breakpoint.
: does anyone know how to fix that???
:

Report
Re: OnMouseDown event for a button Posted by Quantumcat on 17 Oct 2011 at 11:07 PM
A button sends a BN_CLICKED message to its owner when it is clicked. Use that.



 

Recent Jobs

Official Programmer's Heaven Blogs
Web Hosting | Browser and Social Games | Gadgets

Popular resources on Programmersheaven.com
Assembly | Basic | C | C# | C++ | Delphi | Flash | Java | JavaScript | Pascal | Perl | PHP | Python | Ruby | Visual Basic
© Copyright 2011 Programmersheaven.com - All rights reserved.
Reproduction in whole or in part, in any form or medium without express written permission is prohibited.
Violators of this policy may be subject to legal action. Please read our Terms Of Use and Privacy Statement for more information.
Operated by CommunityHeaven, a BootstrapLabs company.