以编程方式滚动Windows编辑控件

时间:2012-07-27 16:40:30

标签: windows winapi scroll editcontrol

有没有办法以编程方式在Windows中滚动单行编辑控件?

例如,如果编辑控件中的文本太大而无法立即显示,则编辑控件获得焦点时的默认行为是选择所有文本并显示文本的结尾。我想改为显示文本的开头(同时仍然选择所有文本)。

2 个答案:

答案 0 :(得分:0)

虽然(显然)没有用于滚动到开头并选择所有文本的API,但它似乎可以模拟执行相同操作的击键:

#ifndef CTRL               
#define CTRL(x) (x&037)    
#endif

SendMessage(edit_handle, WM_KEYDOWN, VK_HOME, 0);
SendMessage(edit_handle, WM_CHAR, CTRL('A'), 0);

答案 1 :(得分:-1)

您可以直接致电SetScrollPos或发送WM_VSCROLL / WM_HSCROLL消息。您可以找到滚动功能的完整列表here