OnMouseDown event for a button - Programmers Heaven

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

OnMouseDown event for a button

MartinSMartinS Posts: 2Member
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???

Comments

  • SpookySpooky Posts: 53Member

    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???
    :

  • QuantumcatQuantumcat Posts: 1Member
    A button sends a BN_CLICKED message to its owner when it is clicked. Use that.
Sign In or Register to comment.