16,471
社区成员
发帖
与我相关
我的任务
分享
void CSSQRandDlg::OnNcPaint()
{
// TODO: Add your message handler code here
CDialog::OnNcPaint();
CDC *pDC = GetWindowDC(); //获取设备上下文
CString str="我的标题栏名称";
CFont vertFont;
//字体
vertFont.CreateFont(16, 6, 0, 0, FW_BOLD, //第一个900表示旋转90度
0, 0, 0, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY,
DEFAULT_PITCH, "宋体");
CFont *pOldFont = pDC->SelectObject(&vertFont);
pDC->SetBkMode(TRANSPARENT); //设置背景透明
pDC->SetTextColor(RGB(200,50,0)); //设置字体颜色
pDC->TextOut(30,6,str); //输出文字,220横坐标,6纵坐标
pDC->DeleteDC(); //释放设备上下文
pDC->SelectObject(pOldFont);
vertFont.DeleteObject();
// Do not call CDialog::OnNcPaint() for painting messages
}
期待大神们指教
BOOL CSSQRandDlg::OnNcActivate(BOOL bActive)
{
OnNcPaint();
return CDialog::OnNcActivate(bActive);
}
void CSSQRandDlg::OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized)
{
CDialog::OnActivate(nState, pWndOther, bMinimized);
OnNcPaint();
}
另外,GetWindowDC()用ReleaseDC释放而不是DeleteDC