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里面了?很可能窗体还没建好你就直接调用了。所以出错了