有没有办法在 Windows 中以编程方式滚动单行编辑控件?
例如,如果编辑控件中的文本太大而无法立即显示,则编辑控件获得焦点时的默认行为是选择所有文本并显示文本的结尾。我想改为显示文本的开头(同时仍然选择所有文本)。
有没有办法在 Windows 中以编程方式滚动单行编辑控件?
例如,如果编辑控件中的文本太大而无法立即显示,则编辑控件获得焦点时的默认行为是选择所有文本并显示文本的结尾。我想改为显示文本的开头(同时仍然选择所有文本)。
尽管(显然)没有用于滚动到开头并选择所有文本的 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);
您可以调用SetScrollPos或将WM_VSCROLL / WM_HSCROLL消息直接发送到窗口。您可以在此处找到滚动功能的完整列表。