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

GetDC()引用有关问题

2012-10-12 
GetDC()引用问题int WinPixelFormat::initializePixelFormat(){static PIXELFORMATDESCRIPTOR pfd {size

GetDC()引用问题
int WinPixelFormat::initializePixelFormat()
{
static PIXELFORMATDESCRIPTOR pfd = { 
sizeof(PIXELFORMATDESCRIPTOR), // pfd结构的大小 
1, // 版本号 
PFD_DRAW_TO_WINDOW | // 支持在窗口中绘图 
PFD_SUPPORT_OPENGL | // 支持 OpenGL 
PFD_DOUBLEBUFFER, // 双缓存模式 
PFD_TYPE_RGBA, // RGBA 颜色模式 
24, // 24 位颜色深度 
0, 0, 0, 0, 0, 0, // 忽略颜色位 
1, // 没有非透明度缓存 
0, // 忽略移位位 
0, // 无累加缓存 
0, 0, 0, 0, // 忽略累加位 
32, // 32 位深度缓存  
8, // 无模板缓存 //改动阴影
0,  
// 无辅助缓存 
PFD_MAIN_PLANE, // 主层 
0, // 保留 
0, 0, 0 // 忽略层,可见性和损毁掩模 
};

hdc = GetDC()->m_hDC; //出错的地方

// Pixel format.
m_nPixelFormat = ChoosePixelFormat(hdc, &pfd);

if(SetPixelFormat(hdc, m_nPixelFormat, &pfd) == false)
{
return false;
}

  ..........
}

在GetDC()处出现错误,

错误提示为“非静态成员引用必须与特定的对象相对”

但是我看见有人就是这么直接用的

求教大侠啊

[解决办法]
hdc = GetDC()->m_hDC; 应该不太会出错啊


initializePixelFormat这个函数是不是放在OnCreate里面了?很可能窗体还没建好你就直接调用了。所以出错了

热点排行