1. 动态创建Cedit与动态创建CStatic类似,缺省字体都很粗,可以使用
LOGFONT lf;
::GetObject((HFONT)GetStockObject(DEFAULT_GUI_FONT),sizeof(lf),&lf);
m_font.CreateFontIndirect(&lf);
m_editContent.SetFont(&m_font);
2. 动态创建的CEdit背景默认是白色的
如果要改变其背景,可以响应父窗口对话框的OnCtlColor函数,在里面设置画刷改变背景色
if (pWnd->GetDlgCtrlID() == CEDITID)
{
pDC->SetBkMode(TRANSPARENT);
HBRUSH hbr = (HBRUSH)GetStockObject(NULL_BRUSH);
return hbr;
}
其中CEDITID定义为 #define CEDITID 8080 // 动态创建的CEdit的ID
当然创建CEdit的时候,ID也要指定为CEDITID
但是注意: 由于NULL_BRUSH会导致窗口不重绘,在滚动条滚动的时候,显示内容就逐渐混乱了,所以此处不能用NULL_BRUSH,当然可以用其它BRUSH.
如果要使用对话框的背景颜色,可以用 HBRUSH hbr = (HBRUSH)CreateSolidBrush(RGB(238,238,244)); 其中RGB(238,238,244)是用QQ截图看的分辨率,嘿嘿