VC++のスタティックコントロールは前景色・背景色も変更できません。
前景色・背景色は ON_WM_CTLCOLOR_REFLECT をフックすることによって変更できるようになります。
フォントは CWnd:SetFont を使えば変更できます、この例もサンプルに入っています。
私が通常使っている、カラースタティックを紹介します。
VC++のプロジェクトソースをLZHファイルで公開します。
こんな感じでやっています。
HBRUSH CColorStatic::CtlColor(CDC* pDC, UINT nCtlColor)
{
// TODO: この位置で DC のアトリビュートを変更してください
pDC->SetTextColor( m_clrText ); // テキスト
pDC->SetBkColor( m_clrBkgnd ); // テキストの背景
if ( m_clrBkgnd != m_clrBkgndOld ) {
m_brBkgnd.DeleteObject() ;
m_brBkgnd.CreateSolidBrush( m_clrBkgnd ) ;
m_clrBkgndOld = m_clrBkgnd ;
}
return m_brBkgnd; // コントロールの背景
}
以下の「ダウンロードする」からダウンロードしてください。