首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

新手问一上关于GetDC

2013-03-01 
新手问一下关于GetDC在一个CView类里面看到HDC hdchdcGetDC(m_hWnd)请问一下怎么等待cview的句柄是m_hW

新手问一下关于GetDC
在一个CView类里面看到  

        HDC hdc;
        hdc=GetDC(m_hWnd);


请问一下怎么等待cview的句柄是m_hWnd的,为什么是这个名字,难道有默认,那对于CmainFrm来说是不是也有,希望能详细讲下,谢谢大家
[解决办法]
MFC所有的窗口、控件的基类都是CWnd
CWnd有个成员变量m_hWnd保存自身窗口句柄.
[解决办法]
m_hWnd这个成员变量,最早是定义在类CWnd中,而且是类CWnd的第一个数据成员,


先看一下MSDN的解析:  


The handle of the Windows window attached to this CWnd. The m_hWnd data member is a 


public variable of type HWND.


由此可知,它是窗口类的一个句柄,凡是从CWnd派生的类都有这个句柄,凡是以CWnd派


生的类定义的对象内部也都有这个句柄,它是类或者对象标识自己的句柄。


凡是窗口都有一个句柄用来标识自己,在CWnd类中将这个句柄作为一个成员变量直接封装


了,所以CWnd类的成员函数都没有句柄这个参数了,比如::ShowWindow(HWND hWnd),在


CWnd类或者派生类中,这个函数就没有参数了,CWnd::ShowWindow(),其实这个函数实


现很简单,就是调用了::ShowWindow(HWND hWnd),因为在类里已经封装好了,所以也不需


要在传递参数了。


 


[解决办法]
,为什么是这个名字,难道有默认,那对于CmainFrm来说是不是也有=
===================
对于所有CWnd或是它的子类,都有这个成员。

热点排行