您的位置:首页 > 其它

发送消息

2016-05-24 10:19 337 查看


功能:将图标拖动到别的窗口里,会获得窗口句柄,类名,标题,发送消息,会改变窗口标题

初始化protected

HICON m_hIcon;
HCURSOR m_hCursor;
RECT m_rtCtrl;
BOOL m_bCapturing; //是否处于鼠标捕获中
HWND m_hwndDest;添加消息事件



void Cdemo12Dlg::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
if(point.x>=m_rtCtrl.left&&point.x<=m_rtCtrl.right
||point.y>=m_rtCtrl.top&&point.y<=m_rtCtrl.bottom)
{
AfxMessageBox(_T("zhong"));
}
m_bCapturing=TRUE;
SetCapture(); //开始捕获鼠标
SetCursor(m_hCursor); //改变鼠标指针

CDialogEx::OnLButtonDown(nFlags, point);
}

void Cdemo12Dlg::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
if(m_bCapturing)
{
ReleaseCapture(); //释放捕获
m_bCapturing=FALSE;
POINT pt=point; //获得鼠标的坐标
ClientToScreen(&pt); //转化成屏幕的坐标
m_hwndDest=::WindowFromPoint(pt); //获得记事本的窗口句柄
}
TCHAR szBuf[MAX_PATH]={0};
_stprintf(szBuf,_T("0x%.8X"),m_hwndDest);
SetDlgItemText(IDC_EDIT1,szBuf);
GetClassName(m_hwndDest,szBuf,MAX_PATH);
SetDlgItemText(IDC_EDIT2,szBuf);
::SendMessage(m_hwndDest,WM_GETTEXT,MAX_PATH,(LPARAM)(szBuf));
SetDlgItemText(IDC_EDIT3,szBuf);
CDialogEx::OnLButtonUp(nFlags, point);
}

按钮函数:
void Cdemo12Dlg::OnBnClickedBtn()
{
// TODO: 在此添加控件通知处理程序代码
CString str;
GetDlgItemText(IDC_EDIT3,str);
::SendMessage(m_hwndDest,WM_SETTEXT,0,(LPARAM)(LPCTSTR)str);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: