写过打字软件的发表一下感想,一个月后结帖

zhwquan 2002-06-22 09:38:13
我现在写了个打字软件,当然了只能打英文字母了,现在面临的问题是,字母宽度不一样,我的办法是锁定字体大小,统计出常用字符的宽度,自己写函数计算字符显示的位置。谁有没有更好的办法。
有没有相关的api函数。
谁写过汉字打字的话,能不能说一下感想!
...全文
31 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhwquan 2002-06-25
  • 打赏
  • 举报
回复
中文字体中字母的宽度相同?看一看!
zhwquan 2002-06-25
  • 打赏
  • 举报
回复
多谢指点!
zhwquan 2002-06-23
  • 打赏
  • 举报
回复
高手来看看了
zhwquan 2002-06-23
  • 打赏
  • 举报
回复
如何得到字符的宽度呢,api?
zhwquan 2002-06-23
  • 打赏
  • 举报
回复
你说的对,不过英文字符不一样宽,如'w' ,'i',我认为必须算出字符宽度,跟在dos下不一样啊!
surfguy 2002-06-23
  • 打赏
  • 举报
回复
我觉得你不一定要锁住字体,你可用指针来定位。你下面每打一个字符,就和参考字符串的指针的当前位置的字符比较,然后指针加1。
zhwquan 2002-06-23
  • 打赏
  • 举报
回复
那当然,关键是字符的位置!
stiwin 2002-06-23
  • 打赏
  • 举报
回复
选择一输入的字符,再比较对照的字符是否一样
zhwquan 2002-06-23
  • 打赏
  • 举报
回复
是不是大家都写数据库,这样的小儿科不值得一提!
zhwquan 2002-06-23
  • 打赏
  • 举报
回复
to:workboy 怎么比?
workboy 2002-06-23
  • 打赏
  • 举报
回复
上下比较呀?
zhwquan 2002-06-23
  • 打赏
  • 举报
回复
那当然,上面显示一行字符串。下面是用户键入的字符,如果不知道字符的宽度,在什么位置显示字符呀?
torble 2002-06-23
  • 打赏
  • 举报
回复
先给你一个函数:

//取得字符的高度
function CharHeight: Word;
var
 Metrics: TTextMetric;
begin
 GetTextMetrics(Canvas.Handle, Metrics); // Called Windows API
 Result := Metrics.tmHeight;
end;

不过我觉得没有必要用,因为我们常用的中文字体中的英文字符都是宽度相同的。你可以参照金山打字通那样的方案,使用宋体或 FixedSys 之类的,可以做到字符宽度一样。不过,你该不会让用户选择字体吧? :)
torble 2002-06-22
  • 打赏
  • 举报
回复
字母宽度对程序有影响吗?

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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