Windowsで1行の編集コントロールをプログラムでスクロールする方法はありますか?
たとえば、編集コントロールのテキストが大きすぎて一度に表示できない場合、編集コントロールがフォーカスを取得したときのデフォルトの動作は、すべてのテキストを選択してテキストの終わりを表示することです。代わりに、テキストの先頭を表示したいと思います(すべてのテキストを選択したままにします)。
Windowsで1行の編集コントロールをプログラムでスクロールする方法はありますか?
たとえば、編集コントロールのテキストが大きすぎて一度に表示できない場合、編集コントロールがフォーカスを取得したときのデフォルトの動作は、すべてのテキストを選択してテキストの終わりを表示することです。代わりに、テキストの先頭を表示したいと思います(すべてのテキストを選択したままにします)。
最初にスクロールしてすべてのテキストを選択するための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メッセージをウィンドウに直接送信することができます。スクロール機能の完全なリストはここにあります。