和大家谈一下这个API函数的秘密吧,代码如下:
CFont tmpFont,*oldFont;
tmpFont.CreateFont(12, 0, 0, 0, FW_SEMIBOLD, FALSE, FALSE,0,0,0,0,0,0, "黑体");
CDC *pTmpDC=m_panelAnalyze.GetDlgItem( IDC_SICKINFO )->GetDC();
oldFont=pTmpDC->SelectObject(&tmpFont);//设置DC的当前字体
(m_panelAnalyze.GetDlgItem( IDC_SICKINFO ))->SetWindowText( str );
大家猜猜,这样的设置之后,WindowText的字体会变化吗?
...答案是可以变化,看来SetWindowText API函数其实是调用了DC的TextOut方法进行操作的。