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

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

2012-02-01 
如何获取对话框中静态框的HDC想在对话框的静态框中作图,但是在对话框初始化时却不能执行如下:BOOLCDlgSanw

如何获取对话框中静态框的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

热点排行