VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 220|回复: 2

[原创] 软件开发日志—使文本框Edit控件可以接受unix,mac的换行模式

[复制链接]
75_avatar_middle
最佳答案
0 
在线会员 发表于 2019-12-8 09:39:36 | 显示全部楼层 |阅读模式
在开发软件的时候,导入数据名单,是通过从外部把数据复制到剪切板,然后粘贴到我们软件的文本框来导入名单的(多行名单)。 但是偶尔的发现一个问题, 如果通过Notepad等软件编辑文本数据,不小心把数据转换成了unix换行模式(默认是windows 回车换行模式),那么将这样的数据粘贴到 软件的文本框后,多行数据变成了一行!!

就是因为windows的文本框控件,只能识别回车换行两个字符为一个换行,如果是unix文本数据,就当作一行不换行了!!

处理方法是,通过windows开发中的子类化技术,修补edit控件的窗口处理过程,在发现有复制消息的时候,拦截这个消息,从剪切板获得数据,处理后,然后自己粘贴到文本框。

要拦截的消息是 Ctrl+V, 和WM_COPY这样的文本框原始消息。




上一篇:如果学习Gh0st只是学回了加载别人写好的库,和类!
下一篇:通过directshow+basslib 播放大部分音乐格式源码
58_avatar_middle
最佳答案
43 
online_vip 发表于 2019-12-8 12:41:11 | 显示全部楼层
长见识了。
75_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2019-12-9 23:48:47 | 显示全部楼层
嗯, 我也是开发《518抽奖软件》的时候,偶尔遇到的问题, 原理是这样的。
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号 )|网站地图wx_jqr

GMT+8, 2020-9-24 17:01

Powered by CcTry.CoM

© 2009-2020 cctry.com

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