TN003: Mapping of Windows Handles to Objects(映射窗口句柄到对象)

王朝vc·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

TN003: Mapping of Windows Handles to Objects(映射窗口句柄到对象)

摘要:

这篇笔记描述MFC程序支持把窗口对象句柄映射到C++对象中。

1、 可以进行映射的窗口句柄有:

HWND (CWnd and CWnd-derived classes)

HDC (CDC and CDC-derived classes)

HMENU (CMenu)

HPEN (CGdiObject)

HBRUSH (CGdiObject)

HFONT (CGdiObject)

HBITMAP (CGdiObject)

HPALETTE (CGdiObject)

HRGN (CGdiObject)

HIMAGELIST (CImageList)

SOCKET (CSocket)

2、 通过FromHandle()可以返回一个临时的C++对象,这个对象在CWinThread::OnIdle()中自动调用DeleteTempMap来清除。

3、 通过Attach()可以使窗口句柄与C++对象永久关联,当离C++对象的作用哉范围时对象的析构函数会自动调Detach(),并释放相应的资源.

4、 两个线程的C++包装对象不能互相访问。当需要传递一个对象给另外一个线程时,需要传递本地(native)句柄,若传送一个C++对象将会引发异常。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航