richedit中的对齐问题很棘手,100送!!!!

basboy 2003-06-27 11:15:20
我使用一个richedit控件,一行只能让他输入8个字符不管是汉字还是英文:
就象下面这样
1234abcd
我我我我我我我我

上下的字符要对齐,因为汉字和英文的宽度不同,我倒是想过在on_char中响应
判断是不是汉字,让英文是汉字使用不同的汉字宽度但是我发现CHARFORMAT中
没有改变字体width的东东,实在不知道怎么做,请高手指教
...全文
153 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
jvcit 2003-07-14
  • 打赏
  • 举报
回复
2个字母 = 一个汉字
一个汉字=一个字母+一个空格
basboy 2003-07-14
  • 打赏
  • 举报
回复
不能换为unicode哈

我里面用到的好多东西都是基于双字节码的

Richuen22 2003-07-13
  • 打赏
  • 举报
回复
字母也是一样的。
AkiraChing 2003-07-13
  • 打赏
  • 举报
回复
在word里的插入符号,选择一种中文字体,在子集里可以找到“半形及全形字符”,可以查到英文字符的UNCODE(十六进制值),然后在程序里用转义字符,如\xff21表示全角的A,注意的是要把project->property->general->charaterset 改用Use Unicode Character Set就可以了
suxk 2003-07-13
  • 打赏
  • 举报
回复
up
basboy 2003-07-13
  • 打赏
  • 举报
回复
那字母呢

他的全角又是什么呢
Richuen22 2003-07-09
  • 打赏
  • 举报
回复
还有你要注意,半角变全角是由一个字节变为二个字节的。
Richuen22 2003-07-09
  • 打赏
  • 举报
回复
全角数字只是加多一个0xA3,和半角本身 加8
如半角3,变为全角3为
0xA3 0xB2
半角4,变为全角4为
0xA3 0xB3
你可用UltraEdit32来查看到的。
basboy 2003-07-09
  • 打赏
  • 举报
回复
有没有将半角转化为全角的函数阿

我不可能限制用户的输入阿
__________________ 2003-07-04
  • 打赏
  • 举报
回复
我来说一些笨方法:
对于如何控制一行8个字符:
用户如果输入回车,就取当前行,如果当前行超8个字符,就去掉多余的。(或每输入就取当前行,超8就将输入的字符清掉,不进入文档)
当然除了回车,你还要对删除键,退格键,ctrl+v ,x,c鼠标的复制等控制
对齐问题:
如果用户输入的是英文,就在前面加一个空格。
Zark 2003-07-04
  • 打赏
  • 举报
回复
那么试试采用全角的数字和字母.
Richuen22 2003-07-03
  • 打赏
  • 举报
回复
如果是用VC.NET,里面的RichEdit控件是2.0。
试一下CHARFORMAT2中的CFM_WEIGHT磅重标记看能否有用。

basboy 2003-06-28
  • 打赏
  • 举报
回复
我想达到的是一个汉字=一个字母哈

我觉得由于这个richedit内容是随时要编辑的,加入tab似乎不是很妥当

(假如他把TAB删了呢)
syl08341 2003-06-28
  • 打赏
  • 举报
回复
:
Richuen22 2003-06-28
  • 打赏
  • 举报
回复
不会吧,我的程序里,2个字母 = 一个汉字

CHARFORMAT2 cf;
ZeroMemory( &cf, sizeof(CHARFORMAT2) );
cf.cbSize = sizeof(CHARFORMAT2);
cf.dwMask = CFM_COLOR | CFM_CHARSET ;
cf.bCharSet = GB2312_CHARSET ;
cf.crTextColor = RGB(210, 120, 120);
m_RichEditUnTest.SetDefaultCharFormat(cf);
将CHARFORMAT2改为CHARFORMAT就是了。因我用了RichEditCtrl 2.0
Zark 2003-06-28
  • 打赏
  • 举报
回复
建议在字符与字符加入"tab"键来达到模拟对齐.

16,471

社区成员

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

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

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