VC6.0中的Static文本框内的字体和改变字体颜色


1. 打开资源视图。

2. 双击打开STATIC所在的对话框。

3. 修改STATIC的ID属性,这里假设为IDC_ZHUYI。

4.为对话框添加CFont m_font;

 

5.在OnInitDialog中加入如下代码:

BOOL CTestDlg::OnInitDialog()
{
   CDialog::OnInitDialog();

   // Add "About..." menu item to system menu.

   // IDM_ABOUTBOX must be in the system command range.
   ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
   ASSERT(IDM_ABOUTBOX < 0xF000);

   CMenu* pSysMenu = GetSystemMenu(FALSE);
   if (pSysMenu != NULL)
   {
       CString strAboutMenu;
       strAboutMenu.LoadString(IDS_ABOUTBOX);
       if (!strAboutMenu.IsEmpty())
       {
          pSysMenu->AppendMenu(MF_SEPARATOR);
          pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
       }
   }

   // Set the icon for this dialog.  The framework does this automatically
   //  when the application's main window is not a dialog
   SetIcon(m_hIcon, TRUE);   // Set big icon
   SetIcon(m_hIcon, FALSE);  // Set small icon
 
    // TODO: Add extra initialization here 
    m_font.CreatePointFont(90, _T("宋体"));
    GetDlgItem(IDC_ZHUYI)->SetFont(&m_font);
 
    return TRUE;  // return TRUE  unless you set the focus to a control
}

6. 选择对话框,在属性面板上点击消息,并选择WM_CTLCOLOR。
添加如下代码:
HBRUSH CTestDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
    HBRUSH hbr = CPropertyPage::OnCtlColor(pDC, pWnd, nCtlColor);
    
    // TODO: Change any attributes of the DC here
     if (pWnd->GetDlgCtrlID() == IDC_ZHUYI)
    {
        pDC->SelectObject(&m_font);   //设置字体
        pDC->SetTextColor(RGB(255, 0, 0)); //控件字体颜色设置为红色
    }


    // TODO: Return a different brush if the default is not desired
    return hbr;
}
就OK!了

你可能感兴趣的:(VC)