获取窗口句柄有什么用_java获取窗体句柄

获取窗口句柄有什么用_java获取窗体句柄对话框头文件中

大家好,欢迎来到IT知识分享网。

对话框头文件中

/*
逻辑顺序:
1、先在对话框的初始函数中定义好游标
2、获取被拖动图像的位置
3、鼠标左键点击事件按下的时候,开始捕获游标(拖动图像的位置)
4、鼠标左键释放掉游标(拖动图像的位置),之后需要转换(ClientToScreen),获取鼠标释放时候的XY坐标,主要获取句柄还是通过WindowFromPoint,和事件释放后的XY坐标
*/
	HICON m_hIcon;
	HCURSOR mCursor; //定义鼠标
	RECT rect; //定义鼠标形状
	HWND hDest; //获得的目标句柄
BOOL CMy9Dlg::OnInitDialog()
{
	CDialogEx::OnInitDialog();
....
	mCursor = LoadCursor(NULL, IDC_SIZEALL); //默认带有箭头
	GetDlgItem(IDC_STATIC)->GetWindowRect(&rect);

...
void CMy9Dlg::OnLButtonDown(UINT nFlags, CPoint point)
{
	if (point.x >= rect.left && point.x <= rect.right || point.y >= rect.top && point.y <= rect.bottom) {
		SetCapture(); //开始捕获
		SetCursor(mCursor); //当范围匹配,就对当前光标进行改变
	}
	CDialogEx::OnLButtonDown(nFlags, point);
}
void CMy9Dlg::OnLButtonUp(UINT nFlags, CPoint point)
{
	POINT pt = point;
	CString mString;
	wchar_t sName[64];
	wchar_t sContent[64];
	ReleaseCapture();
	ClientToScreen(&pt);
	hDest = ::WindowFromPoint(pt); //获取指定POINT的窗口的句柄
	mString.Format(_T("0x%.8x"), hDest);
	SetDlgItemText(IDC_EDIT1, mString);

	GetClassName(hDest, sName, MAX_PATH); //获取类名
	SetDlgItemText(IDC_EDIT2, sName); 
	
	::SendMessage(hDest, WM_GETTEXT, (WPARAM)64, (LPARAM)sContent); //获取标题
	SetDlgItemText(IDC_EDIT3, sContent);


	CDialogEx::OnLButtonUp(nFlags, point);
}

获取窗口句柄有什么用_java获取窗体句柄

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/29517.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信