发送消息

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

初始化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);
}




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值