MFC的Edit Box控件根据字体尺寸动态改变有关问题

MFC的Edit Box控件根据字体尺寸动态改变问题
现使用MFC的Edit Box控件显示文字
定义成员变量:
CFont m_font;
在OnInitDialog()函数中:
m_font.CreatePointFont(200,"华文行楷");
在OnCtlColor()函数中:
CString str;
CRect rect;
CClientDC dc(this);
CSize sz;
if (pWnd->GetDlgCtrlID()==IDC_EDIT_FONT)//IDC_EDIT_FONT为文本框IDMFC的Edit Box控件根据字体尺寸动态改变有关问题
{
pDC->SelectObject(&m_font);
pDC->SetTextColor(RGB(255,0,0));
pDC->SetBkColor(RGB(0,255,0));
GetDlgItem(IDC_EDIT_FONT)->GetWindowRect(rect);
ScreenToClient(rect);
GetDlgItemText(IDC_EDIT_FONT,str);
sz=dc.GetTextExtent(str);
GetDlgItem(IDC_EDIT_FONT)->MoveWindow(20,100,sz.cx,sz.cy);
}
运行程序,结果如下图,文本框控件无法完全显示内容(“TODO: 在这里设置对话控制。”),即文本框无法根据字体尺寸变化动态调整尺寸。
请问是什么原因?如何修改?
MFC的Edit Box控件根据字体尺寸动态改变有关问题

------解决方案--------------------
我也遇到你这样的问题,不能在那里面设置,
GetDlgItem(IDC_EDIT_FONT)->SetFont(&m_font); 字就能显示全了。