主题:请教m_hOject的用法
nana_aoe
[专家分:60] 发布于 2011-10-20 12:15:00
经常看到这样的代码
if(XXX.m_hObject)
{
...
}
和 A.m_hObject = B.m_hObject;
m_hObject究竟是个什么,英语较差,csdn没理解,求指教
以上代码和以下有区别吗?
//////////////
if(xxx != NULL)
{
...
}
和
A = B;
求指教
回复列表 (共3个回复)
沙发
winmain2008 [专家分:280] 发布于 2011-10-21 10:45:00
首先你要看看m_hObject的类型是什么,据我猜测的话应该是HGDIOBJ,它可能是HPEN、HBRUSH等,因为这些句柄其实就是一个int类型
板凳
nana_aoe [专家分:60] 发布于 2011-10-22 18:57:00
[quote]首先你要看看m_hObject的类型是什么,据我猜测的话应该是HGDIOBJ,它可能是HPEN、HBRUSH等,因为这些句柄其实就是一个int类型[/quote]
和msdn上的一样,就是没有理解这句话,可否举个例子呢?说明一下用法,并指明一下为什么要这样用呢?
3 楼
winmain2008 [专家分:280] 发布于 2011-10-24 23:26:00
我只说直接用Windows API的方法,MFC很久没用过了,比如绘有颜色的线条一般都要在MFC声明一个CPen吧,直接使用 Windows API就是HPEN,我们可以m_hObject = CreatePen(PS_SOLID,1,0xff000000)创建红色画笔;然后把画笔加入设备中HDC,即SelectObject(hDC,m_hObject);
建议你在MSDN看一下SelectObject的介绍,我也不知道你到底怎么样这个m_hObject。
我来回复