读书人

小疑点:会的回答一下

发布时间: 2012-02-26 20:19:44 作者: rapoo

小问题:会的回答一下:
我在cmainframe中,想在标题栏中画指自己的title,我在cmainframe 的onncpaint中
CDC* pWinDC = this->GetWindowDC();
CRect rc;
this->GetWindowRect(&rc);
TITLEBARINFO tbi;
this->GetTitleBarInfo(&tbi);
int nHeight = tbi.rcTitleBar.bottom - tbi.rcTitleBar.top;
CRect rcClient;
rcClient.left = rc.left +10;
rcClient.top = rc.top;
rcClient.bottom = nHeight + rc.top;
rcClient.right = rc.left +50;
CFont font;
font.CreateFont(12,0,0,0,0,0,0,0,0,0,0,0,0,_T("宋体"));

CFont *pOldFont=pWinDC->SelectObject(&font);//选入设备描述表
pWinDC->SetBkMode(TRANSPARENT);
pWinDC->TextOut(rcClient.left,rcClient.top,_T("xxxxxx"));
ReleaseDC(pWinDC);
这样是可以话自己想要的东西,但是只有当窗口最大化时候正常,其他的时候(如移动窗体等),画的文字就会偏离位置?为什么?而且对之前画的文字有多重影!
怎么解决?


[解决办法]
WM_NCPAINT

读书人网 >VC/MFC

热点推荐