VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
楼主: zgw716

高人:多行字符串,在DC中如何实现像Word那样可以随意让不同的字符用不同的颜色/字体显

[复制链接]

2

主题

16

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
发表于 2020-6-13 17:30:01 | 显示全部楼层
文件中定义各种格式:
如:<br>表示换行,<color>表示颜色

在PAINT时,对应不同的格式字符,使用不同的画刷,字体。

可以使用宏来自定义一些常用的
回复

使用道具 举报

2

主题

18

帖子

16.00

积分

新手上路

Rank: 1

积分
16.00
 楼主| 发表于 2020-6-20 06:45:01 | 显示全部楼层
可是楼上的,那样定义,怎么能控制自动换行阿?
我想在MFCgridCtrl的一个cell里面,显示不同字的颜色,比如我搜索的字要用红色显示。
我不想做手动的换行处理,DrawText可以自动根据Rect的大小换行的。
回复

使用道具 举报

1

主题

7

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-6-21 12:15:01 | 显示全部楼层
建议楼主直接用别的控件,你要自己做的话.累死你.
回复

使用道具 举报

2

主题

18

帖子

16.00

积分

新手上路

Rank: 1

积分
16.00
 楼主| 发表于 2020-6-26 23:45:01 | 显示全部楼层
楼上的,有什么好控件推荐?
回复

使用道具 举报

1

主题

8

帖子

8.00

积分

新手上路

Rank: 1

积分
8.00
发表于 2020-7-12 00:00:01 | 显示全部楼层
用SetTextColor 确定彩色
用DrawTextA 画
一种颜色画一次,字符的坐标在参数lpRect中指定,
想怎么画就怎么画,
不就OK了?
回复

使用道具 举报

1

主题

8

帖子

8.00

积分

新手上路

Rank: 1

积分
8.00
发表于 2020-7-12 07:00:02 | 显示全部楼层
一行可以按颜色分成一小段一小段用DrawText来画嘛
回复

使用道具 举报

2

主题

18

帖子

16.00

积分

新手上路

Rank: 1

积分
16.00
 楼主| 发表于 2020-7-12 22:00:01 | 显示全部楼层
楼上说的太简单了,比如怎么考虑是否该换行了?若是汉字怎么把那?
回复

使用道具 举报

1

主题

8

帖子

8.00

积分

新手上路

Rank: 1

积分
8.00
发表于 2020-7-20 17:00:02 | 显示全部楼层
每行显示总的字符宽度不要大于参数lpRect坐标区间宽度,否则换行显示,中文和英文对DrawTextA来说只是像素高度和宽度不同,ok
回复

使用道具 举报

2

主题

18

帖子

16.00

积分

新手上路

Rank: 1

积分
16.00
 楼主| 发表于 2020-7-21 10:15:01 | 显示全部楼层
比如我要想让搜索的词组显示红色,但是正好该词组有一半在一行,而另一半在下一行,用
drawtext不就很麻烦了?
回复

使用道具 举报

1

主题

8

帖子

8.00

积分

新手上路

Rank: 1

积分
8.00
发表于 2020-7-21 13:45:01 | 显示全部楼层
不要怕麻烦,格式编排本身就是比较烦琐的,你看看那DrawText一大堆标志参数就知道.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表