OnMouseMove in dialog

hi all,

i want my dialog to catch the mouse move event of the list control which is on it.

how to do it?
LVL 42
Meir RivkinFull stack Software EngineerAsked:
Who is Participating?
 
joakimfCommented:
You can also subclass the listctrl and in the CListCtrl derived class will you get the WM_MOUSEMOVE message.

/Joakim
0
 
Meir RivkinFull stack Software EngineerAuthor Commented:
its a dialog based application.
every time the mouse is on the list control area the OnMouseMove of the dialog is not catching the event....
0
 
Roshan DavisCommented:
Use SetCapture/ReleaseCapture functions

GOOD LUCK
0
Cloud Class® Course: CompTIA Cloud+

The CompTIA Cloud+ Basic training course will teach you about cloud concepts and models, data storage, networking, and network infrastructure.

 
migelCommented:
Hi!
more general way:
install local MOUSE hook in the dialog and translate all message to the dialog procedure.
0
 
Meir RivkinFull stack Software EngineerAuthor Commented:
i defined message and used DefWindowProc in the dialog to catch it.
in the listCtrl i used GetParent()->SednMEssage(WM_THE_MSG,0x0,0x0) to notify the dialog on Mouse move, is it ok?
0
 
migelCommented:
It is ok :-)
0
 
Meir RivkinFull stack Software EngineerAuthor Commented:
is it better than subclassing?
0
 
migelCommented:
subclassing of what window?
You use subclassing via MFC classes so I don`t understand your last question.
0
 
Meir RivkinFull stack Software EngineerAuthor Commented:
nevermind, thanks anyway
0
 
zhoujohnsonCommented:
class CAboutDlg : public CDialog
{
public:
     CAboutDlg();

// Dialog Data
     //{{AFX_DATA(CAboutDlg)
     enum { IDD = IDD_ABOUTBOX };
     //}}AFX_DATA

     // ClassWizard generated virtual function overrides
     //{{AFX_VIRTUAL(CAboutDlg)
     public:
     protected:
     virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
     //}}AFX_VIRTUAL

// Implementation
protected:
     //{{AFX_MSG(CAboutDlg)
     afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
     afx_msg void OnMouseMove(UINT nFlags, CPoint point);
     //}}AFX_MSG
     DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
     //{{AFX_DATA_INIT(CAboutDlg)
     //}}AFX_DATA_INIT
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
     CDialog::DoDataExchange(pDX);
     //{{AFX_DATA_MAP(CAboutDlg)
     //}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
     //{{AFX_MSG_MAP(CAboutDlg)
     ON_WM_LBUTTONDOWN()
     ON_WM_MOUSEMOVE()
     //}}AFX_MSG_MAP
END_MESSAGE_MAP()
void CAboutDlg::OnMouseMove(UINT nFlags, CPoint point)
{
        MessageBox("Ha Move");    
     CDialog::OnMouseMove(nFlags, point);
}
void CAboutDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
     MessageBox("Test!");
     CDialog::OnLButtonDown(nFlags, point);
}
0
 
Meir RivkinFull stack Software EngineerAuthor Commented:
doesn't answer my question, i asked my mouse on a list control.
dont hurry to propose answers so quickly next time.
0
 
Meir RivkinFull stack Software EngineerAuthor Commented:
managed to solve my problem but since joakimf is the first to comment he gets the points.

thank u all.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.