回 帖 发 新 帖 刷新版面

主题:请教m_hOject的用法

经常看到这样的代码

if(XXX.m_hObject)
{
  ...
}

和 A.m_hObject = B.m_hObject;

m_hObject究竟是个什么,英语较差,csdn没理解,求指教
以上代码和以下有区别吗?
//////////////
if(xxx != NULL)
{
...
}


A = B;
求指教

回复列表 (共3个回复)

沙发

首先你要看看m_hObject的类型是什么,据我猜测的话应该是HGDIOBJ,它可能是HPEN、HBRUSH等,因为这些句柄其实就是一个int类型

板凳

[quote]首先你要看看m_hObject的类型是什么,据我猜测的话应该是HGDIOBJ,它可能是HPEN、HBRUSH等,因为这些句柄其实就是一个int类型[/quote]

和msdn上的一样,就是没有理解这句话,可否举个例子呢?说明一下用法,并指明一下为什么要这样用呢?

3 楼

我只说直接用Windows API的方法,MFC很久没用过了,比如绘有颜色的线条一般都要在MFC声明一个CPen吧,直接使用 Windows API就是HPEN,我们可以m_hObject = CreatePen(PS_SOLID,1,0xff000000)创建红色画笔;然后把画笔加入设备中HDC,即SelectObject(hDC,m_hObject);
建议你在MSDN看一下SelectObject的介绍,我也不知道你到底怎么样这个m_hObject。

我来回复

您尚未登录,请登录后再回复。点此登录或注册