![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Memo [D2005, 2003]
Cartman © (2008-07-14 09:33:00)Как сделать чтобы пока мемо1 не дочитают до конца, или просто его не пролистают до конца, не появится компонент радиобатон1, заранее спасибо
clickmaker (2008-07-14 11:31:00) [1]> Если слишком высокая скорость прокрутки - значит, не читает,
> окоянный =)
а, может, он курсы ускоренного чтения закончил -)
Renegat (2008-07-14 11:24:00) [2]Ну тык надо таймер поставить! Если слишком высокая скорость прокрутки - значит, не читает, окоянный =)
User (2008-07-14 10:39:00) [3]
> ну крутанет он скрол
я всегда так делаю ;-). Единственный момент со скролом - курсор остается на прежней позиции - предпочтительнее 'PgDn'по тексту ;-)
{RASkov} (2008-07-14 10:36:00) [4]Раньше у инсталятора "Винды" так было.... Нужно было жать PageDown и затем F8.
А в последних версиях смотрю - отменили такую "штуку". Ибо толку от нее...
:о)
clickmaker (2008-07-14 10:30:00) [5]> или просто его не пролистают до конца
а смысл? ну крутанет он скрол - что, легче станет?
KilkennyCat (2008-07-14 10:15:00) [6]Проще со звуком. Пока звуковой файл не доиграется до конца... а параллельно пусть бегут и текстовые строки, как караоке... гы.
User (2008-07-14 10:08:00) [7]Как я понял из постановки задачи - типа пользователь пока не дочитает текст до конца ..., из примера можно выдернуть:
Как определить текущую колонку и строку каретки в компоненте TMemo?
Вы можете использовать сообщения Windows API EM_LINEFROMCHAR и EM_LINEINDEX для определения положения.
var
LineNum: Longint;
CharsBeforeLine: Longint;
begin
LineNum := SendMessage(Memo1.Handle, EM_LINEFROMCHAR, Memo1.SelStart, 0);
CharsBeforeLine := SendMessage(Memo1.Handle, EM_LINEINDEX, LineNum, 0);
Label1.Caption := 'Line ' + IntToStr(LineNum + 1)
Lebel2.Caption := 'Position ' + IntToStr(Memo1.SelStart - CharsBeforeLine + 1);
end;
Тоесть нужно ловить последнюю строку, при условии её визуализации
> радиобатон1.Visible := True;
Sergey13 (2008-07-14 10:06:00) [8]> [0] Cartman (14.07.08 09:33)
ИМХО. Заставить пользователя читать что написано - утопия. Особенно для России, в которой время на ознакомление с лицензионным соглашением менее одной секунды. 8-)
Anatoly Podgoretsky (2008-07-14 10:00:00) [9]> Cartman (14.07.2008 9:33:00) [0]
Memo.LoadFromFile;
радиобатон1.Visible := True;