518抽奖软件之:使文本框Edit控件,可以接受unix,mac的文本换行模式(在粘贴文字的时候)
在开发《518抽奖软件》(www.)的时候,导入数据名单,是通过从外部把数据复制到剪切板,然后粘贴到我们软件的文本框来导入名单的(多行名单)。 但是偶尔的发现一个问题, 如果通过Notepad等软件编辑文本数据,不小心把数据转换成了unix换行模式(默认是windows 回车换行模式),那么将这样的数据粘贴到 软件的文本框后,多行数据变成了一行!!就是因为windows的文本框控件,只能识别回车换行两个字符为一个换行,如果是unix文本数据,就当作一行不换行了!!
处理方法是,通过windows开发中的子类化技术,修补edit控件的窗口处理过程,在发现有复制消息的时候,拦截这个消息,从剪切板获得数据,处理后,然后自己粘贴到文本框。
要拦截的消息是 Ctrl+V, 和WM_COPY这样的文本框原始消息。
具体代码暂时保密,有需要的可联系我获得 QQ:54939298。