C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Как управлять положением ползунка, ScrollBar-а в Memo программно
nikolayk
Отправлено: 15.04.2005, 17:42


Ученик-кочегар

Группа: Участник
Сообщений: 19



Есть Memo c вертикальным ScrollBar-ом. В Memo программно пишется текст. Когда текст по вертикали не помещается, появляется ползунок
ScrollBar-а. Но он всегда остается в верхнем положении. Как его заставить быть в нижнем положении, чтобы видеть последние строки?
Gedeon
Отправлено: 15.04.2005, 17:56


Ветеран

Группа: Модератор
Сообщений: 1742



см. MSDN WM_VSCROLL
nikolayk
Отправлено: 15.04.2005, 18:09


Ученик-кочегар

Группа: Участник
Сообщений: 19



А можно конкретней?
62316e
Отправлено: 16.04.2005, 16:17


Дежурный стрелочник

Группа: Участник
Сообщений: 38



1)
CODE
unsigned int __fastcall TForm1::SetCaretPos(TCustomEdit *TextWindow, unsigned int Pos)
{
TextWindow->SelStart = Pos;
SendMessage(TextWindow->Handle, EM_SCROLLCARET, 0, 0);
TextWindow->SetFocus();
return TextWindow->SelStart;
}
2)
CODE
#define BEGIN {
#define END }
#define INDIRECTMEMBERSELECTOR ->
#define POINTER *
#define ACCESSSCOPE ::
#define HEAD unsigned int __fastcall
#define UINT unsigned int
#define GETPOS return
#define ASSIGNMENT =
#define COMMA ,
#define EOF ();
#define SEMICOLON;
HEAD TForm1 ACCESSSCOPE ScrollTo(TCustomEdit POINTER TextWindow, UINT Pos)
BEGIN
TextWindow INDIRECTMEMBERSELECTOR SelStart ASSIGNMENT Pos SEMICOLON
SendMessage(TextWindow INDIRECTMEMBERSELECTOR Handle COMMA EM_SCROLLCARET COMMA 0 COMMA 0) SEMICOLON
TextWindow INDIRECTMEMBERSELECTOR SetFocus EOF
GETPOS TextWindow INDIRECTMEMBERSELECTOR SelStart SEMICOLON
END

Вернуться в Вопросы программирования в C++Builder