读书人

VC对话框程序中自定义矩形写不出字?解

发布时间: 2012-09-18 16:21:42 作者: rapoo

VC对话框程序中自定义矩形写不出字?
这是一个VC的对话框程序,要在onpaint()中写字。下面是代码

C/C++ code
void CAgeDlg::OnPaint() {        CRect rect;        GetClientRect(&rect);        //rect.top=200;        //rect.bottom=100;        //rect.left=100;        //rect.right=400;        CPaintDC dc(this);        CFont font;        font.CreatePointFont(180,_T("黑体"),NULL);        dc.SetBkMode(TRANSPARENT);        CFont* pOldFont=dc.SelectObject(&font);            dc.FillSolidRect(rect,RGB(0,0,0));            dc.SetTextColor(RGB(0,255,0));        dc.DrawText(_T("herdtkkdtytke"),rect,DT_VCENTER|DT_LEFT);}

发现当如上注释掉rect.top到rect.right时是可以在DrawText中输出字的。如果如下注释掉GetClientRect
//GetClientRect(&rect);
rect.top=200;
rect.bottom=100;
rect.left=100;
rect.right=400;
自定义一个矩形框,则输不出字,十分不解,求各位大仙指点。谢谢!



[解决办法]
rect.top=200;
rect.bottom=100;
rect.left=100;
rect.right=400;
-----------
你这是个有效的矩形区域码?
[解决办法]
不要在OnPaint中定义字体。
[解决办法]
对了,我刚看了下,你黑色填充矩形框

有可能字写在矩形框里面了,所以看不见了,因为你字也是黑色的

读书人网 >VC/MFC

热点推荐