窗口、控件的指针和句柄的相互转化

更新时间:2023-12-23 05:49:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

窗口、控件的指针和句柄的相互转化 收藏

窗口、控件的指针和句柄的相互转化 1指针转化为句柄

在MFC应用程序中首先要获得窗口的指针,然后将其转化为句柄 CWnd* pWnd;

HANDLE hWnd = pWnd->GetSafeHwnd(); 2句柄转化为指针

在MFC应用程序中首先获得对话框控件的句柄,然后获得其指针 HANDLE hWnd;

GetDlgItem(IDC_xxx,&hWnd); CWnd * pWnd = FromHandle(hWnd);

获得程序窗口指针的办法

1获得主框架窗口指针(任何时候都可以用,只要是MFC程序中) CWnd* pWnd = AfxGetMainWnd(); 2获得对话框中控件指针

CWnd* pWnd = GetDlgItem(IDC_xxx); 3获得对话框中某控件的句柄

HANDLE GetDlgItem(m_hDLG,m_nID_DlgItem); 4获得GDI对象的句柄

HANDLE m_hGDIObj = m_pGDIObj->GetSafeHanle();

SDK编程中窗口ID,句柄,指针三者相互转换函数

ID--HANDLE--HWND三者之间的互相转换

id->句柄-----------hWnd = ::GetDlgItem(hParentWnd,id);

id->指针-----------CWnd::GetDlgItem();

句柄->id-----------id = GetWindowLong(hWnd,GWL_ID);

句柄->指针--------CWnd *pWnd=CWnd::FromHandle(hWnd);

指针->ID----------id = GetWindowLong(pWnd->GetSafeHwnd,GWL_ID);

GetDlgCtrlID();

指针->句柄--------hWnd=cWnd.GetSafeHandle() or mywnd->m_hWnd;

本文来源:https://www.bwwdw.com/article/tgg5.html

Top