MASM32编程如何确保光标移至edit控件末

来源:互联网 发布:linux 搭建php服务器 编辑:程序博客网 时间:2024/05/21 10:45

PurpleEndurer 原创
2006-12-16 第1

有网友反映,在使用 FileInfo 0.0.0002(你可以到 http://purpleendurer.ys168.com 下载)的过程中,有时显示出来的文件信息是交错的。

研究了一下,发现出现这种情况的原因是添加文件信息时,光标没有被移到用来显示信息的edit控件末尾引起的。

偶明明在添加信息前调用了下面这个宏:
/---------
m_GotoEnd MACRO            ;---Place caret to the end of edit
    invoke SendMessage, g_hEditVerInfo, EM_SETSEL, -1 , 0
ENDM
---------/
来把移置光标了嘛。

仔细研究了一会,发现
/---------
    invoke SendMessage, g_hEditVerInfo, EM_SETSEL, -1 , 0
---------/
的功能是将光标移到当前选定块的末尾。如果当前没有选定块,则光标位置不变!

所以确保光标移至edit控件末,就要先来个全选,再移光标。即改成:
/---------
m_GotoEnd MACRO
    ;---Select all
    invoke SendMessage, g_hEditVerInfo, EM_SETSEL, 0 , -1
    ;---Place caret to the end of edit
    invoke SendMessage, g_hEditVerInfo, EM_SETSEL, -1 , 0
ENDM
---------/

不知RichEdit控件是否存在这样的问题?有时间再测试看看。 

相应的,FileInfo 升级到 0.0.0003 版,下载地址不变!