CFont cfont1;cfont1.CreateFont(30,0,0,0,FW_NORMAL, FALSE,FALSE,0, ANSI_CHARSET, OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY,DEFAULT_PITCH | FF_SWISS, "Arial");
CWnd* pWnd = GetDlgItem(IDC_STATIC1);
pWnd->SetFont(&cfont1);
为什么 CFont cfont1;定义成全局对象就可以正确显示,定义到BOOL CMyDlg::OnInitDialog()函数内部,作为局部变量,就没办法正确显示呢?
CWnd* pWnd = GetDlgItem(IDC_STATIC1);
pWnd->SetFont(&cfont1);
为什么 CFont cfont1;定义成全局对象就可以正确显示,定义到BOOL CMyDlg::OnInitDialog()函数内部,作为局部变量,就没办法正确显示呢?
另外,你可以把CFont cfont1;cfont1.CreateFont(30,0,0,0,FW_NORMAL, FALSE,FALSE,0, ANSI_CHARSET, OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY,DEFAULT_PITCH | FF_SWISS, "Arial");
CWnd* pWnd = GetDlgItem(IDC_STATIC1);
pWnd->SetFont(&cfont1);拷贝到OnPaint中CDialog::OnPaint();上面,应该也能实现你要的功能
//可能写的不对,你自己调整
if ( m_font.GetSafeHandle() )
{
m_font.DeleteObject();
}
应该OK的
void main()
{
{
int a =1234;
}
cout<<a; //这是错误的,因为a已经不存在了
}