请高手总结一下vc中句柄,指针,ID之间的转换

请问大虾们在vc中怎么样实现句柄,指针,ID之间的转换。如:HWNDhwndMain=CreateWindow("GenericAppClass","SuperVideo... 请问大虾们在vc中怎么样实现句柄,指针,ID之间的转换。
如:
HWND hwndMain = CreateWindow( "GenericAppClass",
"Super Video",
WS_POPUP,
0,
0,
500,
500,
NULL,
NULL,
hInstance,
NULL
);
怎样根据hwndMain 得到窗口的指针。

再如:
CWnd *mywnd=new CWnd;
mywnd->Create(_T("STATIC"), "", WS_CHILD | WS_VISIBLE,CRect(0, 0, 400, 400), this, 1234);
怎么根据mywnd得到窗口的句柄啊

还有就是句柄,指针,ID三者之间怎样根据一个得到另外两个,请高手指点。

急切期待中。。。。。。。
我只是举下例子。主要是想高手总结下。分我再加好了
展开
 我来答
皇家救星1985
2007-12-07 · TA获得超过1131个赞
知道大有可为答主
回答量:1579
采纳率:0%
帮助的人:1667万
展开全部
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;

-------------------------------------------
早就有人总结了
-------------------------------------------

参考资料: http://mylinux.spaces.live.com/blog/cns!2093FA24703BEA3F!120.entry

6908270270
2007-12-09 · TA获得超过3427个赞
知道小有建树答主
回答量:1988
采纳率:0%
帮助的人:704万
展开全部
HWND hwndMain = CreateWindow( "GenericAppClass",
"Super Video",
WS_POPUP,
0,
0,
500,
500,
NULL,
NULL,
hInstance,
NULL
);
CWnd* Wnd=new CWnd;
Wnd->Attach(hwndMain);//Wnd就是你想要的指针
CWnd *mywnd=new CWnd;
mywnd->Create(_T("STATIC"), "", WS_CHILD | WS_VISIBLE,CRect(0, 0, 400, 400), this, 1234);
mywnd->m_hWnd//这就是窗口的句柄
由ID获得指针
CWnd*p=GetDlgItem(ID,parent);//parent为父窗口
由指针获得ID
int ID=p->GetDlgCtrlID();
由指针获得句柄
p->m_hWnd
然后这上面三式就可以由一个获得另外两个
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式