OnMouseDown event for a button

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


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

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

Howdy, Stranger!

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

Categories