VC++ 更改标题字体以及居中显示标题

在头文件中放下面的函数:

view plaincopy to clipboardprint?
afx_msg void OnNcPaint();  
afx_msg BOOL OnNcActivate(BOOL bActive);  
afx_msg void OnActivate( UINT nState, CWnd* pWndOther, BOOL bMinimized );
      afx_msg void OnNcPaint();
      afx_msg BOOL OnNcActivate(BOOL bActive);
      afx_msg void OnActivate( UINT nState, CWnd* pWndOther, BOOL bMinimized );

在cpp文件的消息映射中放:

view plaincopy to clipboardprint?
ON_WM_NCPAINT()  
ON_WM_NCACTIVATE()  
ON_WM_ACTIVATE()
      ON_WM_NCPAINT()
      ON_WM_NCACTIVATE()
      ON_WM_ACTIVATE()

在cpp文件中添加上面的这些消息响应函数:

view plaincopy to clipboardprint?
BOOL CMyDlg::OnNcActivate (BOOL bActive)  
{  
      OnNcPaint();  
      return CDialog::OnNcActivate (bActive);        
}  

void CMyDlg::OnActivate( UINT nState, CWnd* pWndOther, BOOL bMinimized )  
{  
      OnNcPaint();  
      CDialog::OnActivate ( nState, pWndOther, bMinimized );  
}  

void CMyDlg::OnNcPaint()  
{  
      CDialog::OnNcPaint();  
      CDC* pDC = GetWindowDC();  
      int x = GetSystemMetrics(SM_CXSIZE)+GetSystemMetrics(SM_CXBORDER)+GetSystemMetrics(SM_CXDLGFRAME);  
      int y = GetSystemMetrics(SM_CYDLGFRAME);  
      CRect CapRct;  
      GetWindowRect(&CapRct);  
      int y1 = GetSystemMetrics(SM_CYICON)-GetSystemMetrics(SM_CYDLGFRAME)-GetSystemMetrics(SM_CYBORDER);  
      int x1 = CapRct.Width ()- GetSystemMetrics(SM_CXSIZE)-GetSystemMetrics(SM_CXBORDER)-GetSystemMetrics(SM_CXDLGFRAME);  
        
      CapRct.left = x;  
      CapRct.top = y;  
      CapRct.right = x1;  
      CapRct.bottom = y1;  

      //pDC->FillSolidRect(&CapRct,RGB(0,0,0));  
      CFont* pCurFont = GetFont();  
      LOGFONT lf;  
      pCurFont->GetLogFont (&lf);  
      lf.lfItalic = TRUE;  
      lf.lfWeight = FW_BOLD;  
      lf.lfHeight = 18;  
      strcpy(lf.lfFaceName ,"Arial");  
        
      CFont capfont ;  
      capfont.CreateFontIndirect (&lf);  
      pCurFont = pDC->SelectObject (&capfont);  
      pDC->SetBkMode (TRANSPARENT);  
      pDC->SetTextColor (GetSysColor(COLOR_CAPTIONTEXT));  
      pDC->DrawText ("My Caption",&CapRct, DT_SINGLELINE | DT_CENTER | DT_VCENTER);  

      ReleaseDC(pDC);  
}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值