怎样将改变了大小和颜色的标题栏文字固定上来
怎样将改变了大小和颜色的标题栏文字固定下来?
各位大神们,我遇到了这样的问题,我改变了标题栏文字的大小和颜色,但是当从用鼠标点击程序界面之外的其他地方时,文字就会消失,请给出一个能够将文字固定下来的方法。我的代码如下:
------解决方案--------------------
试试:
另外,GetWindowDC()用ReleaseDC释放而不是DeleteDC
------解决方案--------------------
不同的风格主题下确实是有问题。最简单有效的方法就是利用客户端的一块区域来表示标题栏。
各位大神们,我遇到了这样的问题,我改变了标题栏文字的大小和颜色,但是当从用鼠标点击程序界面之外的其他地方时,文字就会消失,请给出一个能够将文字固定下来的方法。我的代码如下:
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
------解决方案--------------------
不同的风格主题下确实是有问题。最简单有效的方法就是利用客户端的一块区域来表示标题栏。