读书人

怎么获取对话框中静态框的HDC

发布时间: 2012-02-01 16:58:19 作者: rapoo

如何获取对话框中静态框的HDC
想在对话框的静态框中作图,但是在对话框初始化时却不能执行
如下:
BOOL CDlgSanweichongjian::OnInitDialog()
{
CDialog::OnInitDialog();

CWnd* pWnd = GetDlgItem(IDC_STATIC);
CDC* m_pDC;
m_pDC = pWnd-> GetDC();//编译能够通过,但运行时此句不能执行
HDC m_hDC = m_pDC-> m_hDC;

..................//初始化的其它代码
return TRUE;
}

请问各位如何解决

[解决办法]
用GetWindowDC(pWnd-> m_hWnd);试试.

[解决办法]
CDialog::OnInitDialog();

CWnd* pWnd = GetDlgItem(IDC_STATIC);
HDC m_hDC = GetWindowDC(pWnd-> m_hWnd);
..................//初始化的其它代码
return TRUE;

[解决办法]
CWnd* pWnd = GetDlgItem(IDC_STATIC);
这句应该会返回NULL
[解决办法]
以下代码是在静态框中载入图片:(参考一下)
CStatic *ps; //picture是CStatic类型
...
ps = (CStatic *)GetDlgItem(IDC_PICTURE1);
ps-> SetBitmap(HBITMAP(ChanUnuse)); //强制转为HBITMAP

读书人网 >VC/MFC

热点推荐