Здравствуйте, IvanZ, Вы писали:
IZ>Пишу в Builder-е 5. На форме есть три компоненты Memo. В них занесен текст, количество строк одинаково. Теперь, поместив курсор в Memo1 я начинаю пролистывать строки клавишами Вверх/Вниз. Как сделать, чтобы в Мемо2 и Мемо3 автоматически текст сдвигался так же, как в Мемо1 ?
Не знаю, как в Memo (не проверял), но в RichEdit так:
RichEdit1->Perform(EM_SCROLLCARET, i, 0);
Пишу в Builder-е 5. На форме есть три компоненты Memo. В них занесен текст, количество строк одинаково. Теперь, поместив курсор в Memo1 я начинаю пролистывать строки клавишами Вверх/Вниз. Как сделать, чтобы в Мемо2 и Мемо3 автоматически текст сдвигался так же, как в Мемо1 ?
Здравствуйте, Аноним, Вы писали:
А>Не знаю, как в Memo (не проверял), но в RichEdit так:
А>А>RichEdit1->Perform(EM_SCROLLCARET, i, 0);
А>
Спасибо, работает. А как перехватить скроллинг текста в Мемо1 если полосы прокрутки у него нет, а прокрутка осуществляется с клавиатуры клавишами курсора ?
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Аноним, Вы писали:
А>>Не знаю, как в Memo (не проверял), но в RichEdit так:
А>>А>>RichEdit1->Perform(EM_SCROLLCARET, i, 0);
А>>
А>Спасибо, работает. А как перехватить скроллинг текста в Мемо1 если полосы прокрутки у него нет, а прокрутка осуществляется с клавиатуры клавишами курсора ?
На событие OnKeyPress этого компонента нужно проверять текущую позицию курсора:
void __fastcall TForm1::RichEdit1KeyPress(TObject *Sender, char &Key)
{
if(Key==/*VK_DOWN (не помню точно код клавиши)*/ ||Key==VK_UP)
{ int x= RichEdit1->CaretPos.x,
y= RichEdit1->CaretPos.y;
Пардон, ошибся. Не на OnKeyPress, а на OnKeyDown
А>На событие OnKeyPress этого компонента нужно проверять текущую позицию курсора:
А>А>void __fastcall TForm1::RichEdit1KeyPress(TObject *Sender, char &Key)
А>{
А>if(Key==/*VK_DOWN (не помню точно код клавиши)*/ ||Key==VK_UP)
А>{ int x= RichEdit1->CaretPos.x,
А> y= RichEdit1->CaretPos.y;
А>