通过HWND获得CWnd指针

1.通过HWND获得CWnd指针

//获得当前窗口的句柄 
HWND hWnd = GetSafeHwnd(); 
//通过HWND获得CWnd指针 
CWnd *pWnd = CWnd::FromHandle(hWnd); 
CString strText = _T(""); 
strText.Format("pWnd = 0x%X\nthis = 0x%X\n", pWnd, this); 
AfxMessageBox(strText); 

2.想要在::PreTranslateMessage(MSG* pMsg)这个函数中记录鼠标的操作,就会用到HWND到CWnd指针的转换,转换代码如下:

CWnd* hControlWnd = CWnd::FromHandle(pMsg->hwnd);
if(hControlWnd != NULL)
{
	CString tempstr;
	// 获取ID为hControlWnd->GetDlgCtrlID()按钮的文本内容
	GetDlgItem(hControlWnd->GetDlgCtrlID())->GetWindowText(tempstr);
	__SaveOperation(tempstr);//保存鼠标操作文本信息
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值