MFC全称Microsoft Foundation Classes,也就是微软基础类库。它是VC++的核心,是C++与Windows API的结合,很彻底的用C++封装了Windows SDK(Software Development Kit,软件开发工具包)中的结构和功能,还提供了一个应用程序框架,此应用程序框架为软件开发者完成了一些例行化的工作,比如各种窗口、工具栏、菜单的生成和管理等,不需要开发者再去解决那些很复杂很乏味的难题,比如每个窗口都要使用Windows API注册、生成与管理。这样就大大减少了软件开发者的工作量,提高了开发效率。
void CmousemessageDlg::ProcessMouseMessage(LPCTSTR lpszEvent, LPCTSTR lpszKey, const CPoint& point) {
CString strMsg;
strMsg.Format(_T("鼠标%s%s按下了,鼠标的坐标:%d,%d"), lpszKey, lpszEvent,point.x, point.y);
SetDlgItemText(IDC_MOUSE_MESSAGE, strMsg);
}
void CmousemessageDlg::OnLButtonDblClk(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
ProcessMouseMessage(_T("双击"),_T("左键"),point);
CDialogEx::OnLButtonDblClk(nFlags, point);
}
void CmousemessageDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
ProcessMouseMessage(_T("按下"), _T("左键"), point);
CDialogEx::OnLButtonDown(nFlags, point);
}
void CmousemessageDlg::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
ProcessMouseMessage(_T("松开"), _T("左键"), point);
CDialogEx::OnLButtonUp(nFlags, point);
}
其余效果类似就不放图
鼠标右键事件
void CmousemessageDlg::OnRButtonDblClk(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
ProcessMouseMessage(_T("双击"), _T("右键"), point);
CDialogEx::OnRButtonDblClk(nFlags, point);
}
void CmousemessageDlg::OnRButtonUp(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
ProcessMouseMessage(_T("松开"), _T("右键"), point);
CDialogEx::OnRButtonUp(nFlags, point);
}
void CmousemessageDlg::OnRButtonDown(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
ProcessMouseMessage(_T("按下"), _T("右键"), point);
CDialogEx::OnRButtonDown(nFlags, point);
}
鼠标中键(滚轮)事件
void CmousemessageDlg::OnMButtonDblClk(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
ProcessMouseMessage(_T("双击"), _T("中键"), point);
CDialogEx::OnMButtonDblClk(nFlags, point);
}
void CmousemessageDlg::OnMButtonDown(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
ProcessMouseMessage(_T("按下"), _T("中键"), point);
CDialogEx::OnMButtonDown(nFlags, point);
}
void CmousemessageDlg::OnMButtonUp(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
ProcessMouseMessage(_T("松开"), _T("中键"), point);
CDialogEx::OnMButtonUp(nFlags, point);
}
鼠标滚轮滚动事件
BOOL CmousemessageDlg::OnMouseWheel(UINT nFlags, short zDelta, CPoint pt)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
if (zDelta<0) {
ProcessMouseMessage(_T("向下滚动"), _T("滚轮"), pt);
}
else {
ProcessMouseMessage(_T("向上滚动"), _T("滚轮"), pt);
}
return CDialogEx::OnMouseWheel(nFlags, zDelta, pt);
}