CEditView字体

liu1987lang 2010-03-18 10:12:19
怎样更改EditView的默认字体。在那个函数中改?怎么改? 没多少分了,大家帮个忙吧。
...全文
163 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
liu1987lang 2010-03-18
  • 打赏
  • 举报
回复
这是代码:
LOGFONT lf;
_stprintf_s (lf.lfFaceName,32, _T("Fixedsys"));
lf.lfHeight = -18;
lf.lfWidth =400;
lf.lfItalic=0;
m_Font.DeleteObject();
m_Font.CreateFontIndirect(&lf);
GetEditCtrl().SetFont(&m_Font, FALSE);
不知道怎么回事。
cdsnpeter 2010-03-18
  • 打赏
  • 举报
回复
lf是如何定义的?
liu1987lang 2010-03-18
  • 打赏
  • 举报
回复
变是变了,可是不显示了。我用的是 m_Font.CreateFontIndirect(&lf)来设置字体的。谢谢了。
cdsnpeter 2010-03-18
  • 打赏
  • 举报
回复
呃 和VS无关吧,只有是CView及其派生类就有这个OnInitialUpdate虚函数。
这样,你在View的头文件添加:
void OnIntialUpdate();

实现文件添加:
void CMyView::OnInitialUpdate()
{
}

liu1987lang 2010-03-18
  • 打赏
  • 举报
回复
我用的是VS2008里面没有OnIntialUpdate函数啊 。刚学MFC有点白。能详细说下不?
VC_ZSY 2010-03-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xyzhaopeng 的回复:]

在你EditView派生类的.h中Define一个Font,CFont m_Font;

在OnIntialUpdate中,m_Font.CreatePointFont(),创建一个Font,当然用其他CreateFont的方法也可以。

然后调用SetFont(&m_Font, FALSE);这里也可以调用GetEditCtrl().SetFont(&m_Font, F……
[/Quote]
正解··两种方法给你选了··
cdsnpeter 2010-03-18
  • 打赏
  • 举报
回复
OnInitalUpdate是View类的虚函数,需要重载。
cdsnpeter 2010-03-18
  • 打赏
  • 举报
回复
在你EditView派生类的.h中Define一个Font,CFont m_Font;

在OnIntialUpdate中,m_Font.CreatePointFont(),创建一个Font,当然用其他CreateFont的方法也可以。

然后调用SetFont(&m_Font, FALSE);这里也可以调用GetEditCtrl().SetFont(&m_Font, FALSE);
cdsnpeter 2010-03-18
  • 打赏
  • 举报
回复
273226804,一般晚上在。
liu1987lang 2010-03-18
  • 打赏
  • 举报
回复
我搞定了就是几个参数没设。你的QQ多少。还有好些问题要想你请教呢。呵呵!
cdsnpeter 2010-03-18
  • 打赏
  • 举报
回复
LOGFONT lf;
memset(&lf, 0, sizeof(LOGFONT)); // zero out structure
lf.lfHeight = 20; // request a 12-pixel-height font
strcpy(lf.lfFaceName, "Fixedsys"); // request a face name "Arial"
VERIFY(m_Font.CreateFontIndirect(&lf)); // create the font

GetEditCtrl().SetFont(&m_Font, FALSE);
--------------
参考我的代码。我估计是你的LOGFONT字体太宽了,我这边试验的时候会自动换行。
本软件是飞涛软件工作室开发的一款免费Ocr软件,主要用于识别图像文件之中,出现 的汉字显示字体。Ocr的中文含意是光学字符识别。 为什么叫Mini呢?因为现有的识别汉字的商业Ocr软件,动辄二三十兆,而本软件解 压后,也不过三兆多,身材比较纤小,再加上本软件主要用于识别字体比较小的汉字,所 以叫Mini,中文的发音是“迷你”,中文含义是超小型。 既然有了商业Ocr软件,为什么还要开发这个软件? 不同于商业Ocr软件,本软件是免费的,可以自由使用。第二个不同之处,本软件的 识别对象是屏幕出现的“显示汉字”,而不是针对扫描仪扫出来的“打印汉字”。二者有什 么不同呢?最重要的一点: 扫描出来的打印汉字的高度和宽度一般都在30多个像素点之 上,这是我用画图软件,打开某个商业Ocr的samples\sample1.tif,然后一点一点数出 来的。从文件名和目录名的中文含意可以看出,这个点数应该是一个典型值。那么,如果 用商业Ocr识别屏幕上出现的小五号字,汉字的高度是12个像素点,会出现什么情况呢? 测试方法:用记事本随便写几行汉字,设置字体为小五号字。这大概是看着还算舒服 的最小号的汉字字体了(高度是12个像素点),如果再小,字体就很难看了。然后,按拷 屏键PrtSc,把屏幕的图像拷贝、粘贴到画图软件中,修剪尺寸后,保存为bmp的格式。 然后,我找了两个国内最著名的Ocr软件进行测试,结果让人大吃一惊,识别率几乎为零。 把图像放大两倍,再测试,结果仍然很不理想,大概也只有百分之二三十的样子。 开发Mini Ocr软件的由来 我在开发护花使者反黄图像识别软件的时候,遇到有些图像里,嵌有某些文字,如果能 把文字识别出来,图像的含义就很容易让计算机理解了。预算有限,我连扫描仪都舍不得 买,就更别想买商业Ocr的开发包了,大概几十万,或者更多,或者别人压根就不卖。况且 它们的识别率对小字体几乎为零,不符合我的要求。看来,只好自力更生,重新写一个了。 开发Mini Ocr的历程 经过三个多月的努力,终于诞生了这款Mini Ocr 软件。第1个月做出了汉字识别的 核心模块,第2个月做出了文章段落切分的算法,并加入了对英文,数字,标点的支持, 第三个月继续调整英汉混排和汉字切分的算法,并用MFC 做了一个界面。 Mini Ocr的软件架构    为了让更多的人能使用到这个软件,我在windows系统下,采用VC进行编程,界面当 然只好用MFC写了。软件架构是一个SDI框架下的多窗口切分界面,左上角的窗口是一个 CFormView,用来显示常用的按钮;左下角是一个CEditView,用来显示帮助信息;右上角 是一个CView,用来显示要识别的图像;右下角是一个CEditView,用来存放识别出来的文 字。识别部分采用了工作者线程,以避免显示界面的主线程僵掉。识别部分是整个软件的 核心,与操作系统无关,可以单独摘出来放在dos窗口里跑,也可以移植到Linux系统中跑。 汉字识别软件的难点所在: 英文识别有一些开放源码的软件,我看过的软件,主要采取两种识别方法:基于规则 的方法,和采用神经网络方法。而这两种方法,在识别汉字时,都不宜采用。因为汉字数 目众多,最常用的国标2312的一级汉字就有3755个。如果借用基于规则的方法,需要对 三千多个汉字,逐一人工写出分类规则,工作量太大,我一个人无法完成;如果采用神经 网络的方法,这么多汉字,我不敢想象,需要多少层网络和神经节点呀!如果采用网格法, 抗位移的效果太差;而采用不变矩法,识别人和入,土和士,相似度又难于控制。除此之 外,汉字切分也是一大难题。英文宽度大概只有汉字一半,标点符号大概只有汉字三分之 一宽,数字大概只有四分之一的宽度。而汉字本身又有二分字,和三分字。某些字,如“啊”, 字体小时可能是独体字,字体大些,变为二分字,字体再大,又变为三分字。加上汉字与 汉字之间的粘连、汉字与英文的混排,英文与英文的粘连,造成汉字切分模块的算法,甚 至比汉字识别模块的算法还要复杂得多。为了克服这些难点,并加快识别速度,我在算法 设计时,采用了一些优化和简化的策略。经过实践检验,证明行之有效。 Mini Ocr进行汉字识别的策略: 1) 采用复合特征的分类方法。 2) 字符集选择3755个一级汉字。 3) 字体选择最常用的宋体。 4) 字号选择从小五号到一号汉字,主要针对20个点之内的小字体。 5) 英汉混排时,汉语优先。 6) 汉字粘连时,进行动态优化切分。 展望与下一步的开发计划: 1) 重新优化英文识别的算法; 2) 对英文粘连的切分算法进行调整; 3) 移植进入Linux; 选择Ocr软件的建议:
VC常用操作源码(**经过排版编辑和修正过的word文档**),内容如下: CD-ROM 1 关闭计算机 1 重启计算机 1 枚举所有字体 1 只运行一个程序实例 2 得到鼠标位置 2 显示和隐藏程序菜单 2 获取可执行文件的图标 3 窗口自动靠边程序演示 3 系统菜单添加菜单项 5 动态增加或删除菜单 6 改变应用程序的图标 7 改变窗口标题的方法 7 剪切板上通过增强元文件拷贝图像数据 8 剪切板上文本数据的传送 8 捕捉屏幕图像到剪切板中 9 将位图缩放显示 11 改变对话框中控件的颜色 12 修改窗口外观 14 获得应用程序主窗口的指针 14 确定应用程序的路径 14 获得其他程序的图标 15 获得各种目录信息 15 如何自定义消息 16 改变窗口的缺省风格 16 将窗口居中显示 16 一启动就最大化和最小化 17 限制窗口的大小 17 创建一个字回绕的CEditView 17 程序保持极小状态 18 移动窗口 18 重置窗口的大小 18 单击窗口标题栏以外区域使窗口移动 18 改变视窗的背景颜色 19 防止主框窗口在其说明中显示活动的文档名 20 获取有关窗口正在处理的当前消息的信息 20 代码中获取工具条和状态条的指针 21 使能和禁止工具条的工具提示 21 如何创建一个不规则形状的窗口 21 获取应用程序的实例句柄 24 如何编程结束应用程序 24 创建和使用无模式对话框 24 怎样加载其他的应用程序 25 使窗口始终在最前方 26 在对话框中显示一个位图 27 获取一个对话控件的指针 27 改变控件的字体 27 OLE控件中使用OLE_COLOR数据类型 28 在不使用通用文件打开对话的情况下如何显示一个文件列表 28 旋转按钮控件 29 用位图显示下压按钮 29 创建三态下压按钮 30 如何动态创建控件 30 限制编辑框中的准许字符 30 向列表框中添加多个项时防止闪烁 31 向编辑控件中添加文本 32 访问预定义的GDI对象 32 获取GDI对象的属性信息 33 实现一个橡皮区矩形 34 更新翻转背景颜色的文本 35 创建一个具有特定点大小的字体 36 如何计算一个串的大小 36 显示旋转文本 37 显示包含标签字符的串 38 串太长时如何在其末尾显示一个省略号 39 为什么即使调用EnableMenuItem菜单项后,菜单项还处于禁止状态 39 在用户环境中如何确定系统显示元素的颜色 40 查询和设置系统参数 40 确定当前屏幕分辨率 40 使用预定义Windows光标 41 检索原先的Task Manager应用程序使用的任务列表 41 确定Windows和Windows系统目录 42 在哪儿创建临文件 42 我怎样才能建立一个等待光标 43 访问桌面窗口 43 怎样用COLORREF 44 在应用程序中循环浏览已经打开的文档、视图 44 MFC在窗口标题栏 45

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧