if(m_Position.x>0)
{
TEXTMETRIC metric;
CDC* pDC;
pDC->GetTextMetrics(&metric);
m_Position.x=m_Position.x-metric.tmAveCharWidth;
}
m_Position是记录鼠标的位置的,但我在调试时出现:D:\Microsoft Visual Studio\Roger's\notoolbar\NotoolbarView.cpp(142) : warning C4700: local variable 'pDC' used without having been initialized
这是为什么啊,而且程序运行到这一步就会出现异常而关闭。
{
TEXTMETRIC metric;
CDC* pDC;
pDC->GetTextMetrics(&metric);
m_Position.x=m_Position.x-metric.tmAveCharWidth;
}
m_Position是记录鼠标的位置的,但我在调试时出现:D:\Microsoft Visual Studio\Roger's\notoolbar\NotoolbarView.cpp(142) : warning C4700: local variable 'pDC' used without having been initialized
这是为什么啊,而且程序运行到这一步就会出现异常而关闭。
NEW 一个 或从某个HWND 上获得一个
不要忘了最后delete pDC;或者pDC = GetDC();
使用完后ReleaseDC(pDC);
CDC* pDC = GetDC();
{
TEXTMETRIC metric;
CClientDC dc(this);
dc.GetTextMetrics(&metric);
m_Position.x=m_Position.x-metric.tmAveCharWidth;
}
pDC->CreateCompatableDC( ... );
....
CClientDC dc(this)
比较好
我罗索几句:
this->GetDC()是得到当前窗口的描述。
用哪个窗口去GetDC()就得到哪个窗口的DC。