如何将对话框中EDIT控件中的字符输出到VIEW中
本人在做文本输出时,TEXTOUT函数不能将EDIT控件中的字符输出到VIEW中,而且,我在中有一按钮用于设置字体,在对应菜单函数中有几句话:
CFontDialog fontdlg;
fontdlg.DoModal();
m_size=fontdlg.GetSize();
m_style=fontdlg.GetStyle();
m_font=fontdlg.GetFont();
其中fontdlg是对话框对象,但第一句没错,而且编译时也没有报错,但进入对话框,点击设置字体按钮后,进入系统的字体设置对话框,无论点击确定或取消,都出现错误提示,将最后两句话除去,则不会出现,请各位大虾多多指点小弟,让小弟从雾水中走出。
问题点数:100、回复次数:5Top
1 楼webber84(***闭关修炼中***)回复于 2002-05-17 20:18:23 得分 5
上述三函数的实现呢?Top
2 楼twtpdc(呢呢)回复于 2002-05-17 20:22:11 得分 5
错误提示是什么?Top
3 楼cadinfo(无语清风)回复于 2002-05-17 20:29:01 得分 20
使用对话框的惯例:
if(fontdlg.DoModal()==IDOK)
{
m_size = fontdlg.GetSize();
m_style = fontdlg.GetStyle();
......
}
原因,调玩DoModal()函数对话框已经Destroy掉了,那么所有的选择呢,自己分析一下。
Top
4 楼hnyyy(前进)回复于 2002-05-17 20:30:23 得分 50
CFontDialog 有一个重要的数据成员
m_cf一个用于定制CFontDialog对象的结构
只有以下成员函数:
DoModal显示对话框并使用户选择
GetCurrentFont获取当前选定字体的名字
GetFaceName返回选择字体的字样名称
GetStyleName返回选择字体的风格名称
GetSize返回选择字体的点大小
GetColor返回选择字体的颜色
GetWeight返回选择字体的磅数
IsStrikeOut判断字体是否是突出
IsUnDerline判断字体是否是下划线
IsBold判断字体是否是黑体
IsItalic判断字体是否是斜体
Top
5 楼hnyyy(前进)回复于 2002-05-19 20:33:12 得分 20
通常使用m_cf结构
例:
CFontDialog dlg;
if (dlg.DoModal() == IDOK)
{
// Create the font using the selected font from CFontDialog.
LOGFONT lf;
memcpy(&lf, dlg.m_cf.lpLogFont, sizeof(LOGFONT));
CFont font;
VERIFY(font.CreateFontIndirect(&lf));
// Do something with the font just created...
CClientDC dc(this);
CFont* def_font = dc.SelectObject(&font);
dc.TextOut(5, 5, "Hello", 5);
dc.SelectObject(def_font);
// Done with the font. Delete the font object.
font.DeleteObject();
}
Top




