发送消息
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);
}
相关文章推荐
- 关于一个群号分解的最大质数的求法
- poj 3744 Scout YYF 1 (概率DP+矩阵快速幂)
- ACdream 1113 The Arrow (概率dp求期望)
- 有关ListView注意的问题
- HDU 4334 Trouble (数组合并)
- awk入门2
- 转载出去:http://blog.csdn.net/han_xiaoyang/article/details/11969497
- Spring声明式事务(xml配置事务方式)
- flask开发restful api系列(6)-配置文件
- HDU 4320 Arcane Numbers 1 (数论)
- HDU 4310 Hero (贪心算法)
- HDU 3835 R(N)
- HDU 3833 YY's new problem ()
- 从文件读入16进制数转化为10进制数再输出到文件中
- UESTC 1215 (思维题 旋转)
- HDU2067卡特兰数
- Python.Paste指南之Deploy(1)-概念
- HDU2084基础DP数塔
- HDU2050离散数学折线分割平面
- HDU2044 小蜜蜂斐波那契