MFC编程中Edit框的操作
我在Dialog中拖出一个Edit框框,希望通过它获取用户输入的信息,这个可以通过GetDlgItemText()实现,但是还有两个问题没能解决:1.Edit框框中输入的...
我在Dialog中拖出一个Edit框框,希望通过它获取用户输入的信息,这个可以通过GetDlgItemText()实现,但是还有两个问题没能解决:
1.Edit框框中输入的文本的字体和大小怎么调整呢,我在Dialog的Properties中修改,结果把其他控件的字体什么的连带着一起改了。
2.我希望Eidt框框除了可以获取用户输入的信息,还能显示一些程序反馈的信息,比如,我点击了"浏览"按钮用户通过它给了程序一个文件路径,我希望这时候程序把这个获取到的路径在Eidt框框中显示出来。以上该如何实现呢?
谢谢各位了
本人庶竭驽钝……望稍作详细解答……不胜感激 展开
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(RGB(233,233,220)); //背景颜色
HBRUSH b=CreateSolidBrush(RGB(233,233,220));//背景颜色
return b;
}
// TODO: Return a different brush if the default is not desired
return hbr;
}
问题二:
在“浏览”按钮的消息函数中添加如下代码:
CString StrFilter="文本文件(*.txt)|*.txt|所有文件(*.*)|*.*||";
CFileDialog Dlg(TRUE,NULL,NULL,NULL,StrFilter,this); //A
if(Dlg.DoModal()==IDOK)
{
FilePath=Dlg.GetPathName();
UpdateData(false);
}
其中FilePath是与为编辑控件定义的变量,A行中第一个参数为true时显示打开对话框,为false时显示保存对话框
更改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(RGB(233,233,220)); //背景颜色
HBRUSH b=CreateSolidBrush(RGB(233,233,220));//背景颜色
return b;
}
// TODO: Return a different brush if the default is not desired
return hbr;
}
问题二:
在“浏览”按钮的消息函数中添加如下代码:
CString StrFilter="文本文件(*.txt)|*.txt|所有文件(*.*)|*.*||";
CFileDialog Dlg(TRUE,NULL,NULL,NULL,StrFilter,this); //A
if(Dlg.DoModal()==IDOK)
{
FilePath=Dlg.GetPathName();
UpdateData(false);
}
其中FilePath是与为编辑控件定义的变量,A行中第一个参数为true时显示打开对话框,为false时显示保存对话框
展开全部
声明关联变量!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
问题1:VC里标准控件是不能修改字体和大小的,因此你有两个办法,1是继承并重定义自己的控件进行修改,2是加载2.0版的控件,这个在工程力一般可以添加。方法:Project->add Files->(后面不记得了,我的电脑上没有安装VC,大概就是注册空间的一个选项)里面有EDIT控件的2.0版本,加载后就可以实现功能。
问题2.如果实现浏览功能的话,就要用CFiledialog公用对话框控件,参考MSDN可以使用,打开你要选择的路径,
首先定义Edit控件变量 CEdit m_myEdit;
如CFileDialog dlg(...);
dlg.DoMal();
m_myEdit.SetWindowText(dlg.GetPathName);
UpdateData(FALSE);
就可以了。
大致是这个过程,详细函数可以参考帮助
问题2.如果实现浏览功能的话,就要用CFiledialog公用对话框控件,参考MSDN可以使用,打开你要选择的路径,
首先定义Edit控件变量 CEdit m_myEdit;
如CFileDialog dlg(...);
dlg.DoMal();
m_myEdit.SetWindowText(dlg.GetPathName);
UpdateData(FALSE);
就可以了。
大致是这个过程,详细函数可以参考帮助
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
问题1:VC标准控件一般不能修改字体和颜色,如果要实现只好自定义控件或者加载2.0版控件。
问题2:给EDIt对话框顶一个变量 CEdit m_Edit;
调用CFileDialog 公用对话框获取文件路径,并调用GetpathName()成员函数得到字符串变量,赋值给m_edit就可以了
问题2:给EDIt对话框顶一个变量 CEdit m_Edit;
调用CFileDialog 公用对话框获取文件路径,并调用GetpathName()成员函数得到字符串变量,赋值给m_edit就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先定义Edit控件变量 CEdit m_Edit;
如CFileDialog dlg(...);
dlg.DoMal();
m_Edit.SetWindowText(dlg.GetPathName);
UpdateData(FALSE);
如CFileDialog dlg(...);
dlg.DoMal();
m_Edit.SetWindowText(dlg.GetPathName);
UpdateData(FALSE);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询