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中定义字体。
[解决办法]
对了,我刚看了下,你黑色填充矩形框
有可能字写在矩形框里面了,所以看不见了,因为你字也是黑色的