MFC编程中Edit框的操作

来源:百度知道 编辑:UC知道 时间:2024/06/01 04:28:31
我在Dialog中拖出一个Edit框框,希望通过它获取用户输入的信息,这个可以通过GetDlgItemText()实现,但是还有两个问题没能解决:
1.Edit框框中输入的文本的字体和大小怎么调整呢,我在Dialog的Properties中修改,结果把其他控件的字体什么的连带着一起改了。
2.我希望Eidt框框除了可以获取用户输入的信息,还能显示一些程序反馈的信息,比如,我点击了"浏览"按钮用户通过它给了程序一个文件路径,我希望这时候程序把这个获取到的路径在Eidt框框中显示出来。以上该如何实现呢?
谢谢各位了
本人庶竭驽钝……望稍作详细解答……不胜感激

问题一:
更改Edit输入框中的字体步骤如下:
(1)、在OnInitDialog()函数中声明如下两个变量:CFont *Font; LOGFONT lf;(前一个变量是一个字体类指针,后一个变量是一个字体信息结构体,这两个变量用于创建字体);
(2)、在OnInitDialog()函数中添加如下代码:
CFont *Font; LOGFONT lf; //第(1)步中已经添加
Font=new CFont;
Font->CreatePointFont(120,(LPCTSTR)"隶书");
Font->GetLogFont(&lf);
//lf.lfUnderline=TRUE;
Font->DeleteObject();
Font->CreateFontIndirect(&lf);
((CEdit*)GetDlgItem(IDC_EDIT1))->SetFont(Font,true);
编译运行就可以了,IDC_EDIT1为编辑控件ID号;
更改编辑控件字体颜色步骤如下:
(1)、为对话框类添加WM_CTLCOLOR消息函数OnCtlColor();
(2)、在OnCtlColor()函数中添加代码后如下:
HBRUSH CXcDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

// TODO: Change any attributes of the DC here
if(nCtlColor==CTLCOLOR_EDIT)
{
//pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(255,0,0)); //文字颜色
pDC->SetBkColor