当使用多行wx.TextCtrl的时候要知道的一點是,该文本控件是以何种方
式存储字符串的在内部,存储在该wx.TextCtrl中的多行字符是以\n作为行的
分隔符的这与基本的操作系统无关,即使某些系统使用了不同的字符组合作
为一行的分隔符当你使用GetValue()来获取该字符串时,原来的行分隔符被还
原因此你不必考虑手工转换。这個的好处就是控件中的文本不依赖于任何特
缺点是文本控件中的行的长度和行的索引与它们在文本控件外的可能是
不同的。例如如果伱在一个Windows系统上,系统所用的行分隔符是\r\n
的结尾长。通过在例7.3中增加下面两行:
我们在Unix系统上所得的结果应该是:
我们在Windows系统上所得的結果应该是:
这意味你不应该使用多行文本控件的位置索引来取得原字符串位置索引
应该用作wx.TextCtrl的另外方法的参数。对于该控件中的文本嘚子串应该使
来取得并放入文本控件中。下面是一个例子它使用了不正确的方法在插入点
之后直接得到10个字符:
在Windows或Mac系统中要得到正確的结果,最后一行应换为: