Новые книги

Книга о нарастающих проблемах в области информационных технологий в связи с их прогрессом и сверхоперативным развитием. О том, как обезопасить мир от вредоносного влияния новейших программ и оборудования, где центральной составляющей глобальной ИКТ-отрасли является Интернет.
Дорогой друг! YouTube – это место, куда ты можешь залить что угодно: мысли из твоей головы, прохождение свежей компьютерной игры или серьезную инструкцию по выращиванию сельдерея. Здесь находится место всему, хотя развлекательный контент обычно набирает больше просмотров. Как стать крутым и известным? Как заработать, снимая видео? Книга ответит на эти и другие вопросы, связанные с YouTube.

Вопрос и Ответ 24



Вопросы и Ответы


      24. Можно ли получить позицию курсора в компоненте TMemo?

      В компоненте TMemo предусмотрено получение позиции курсора через механизм сообщений. Для получения позиции необходимо послать два сообщения. Первое -

      LineNum := Memo1.Perform(EM_LINEFROMCHAR, Memo1.SelStart, 0);

      для получения номера строки в которой находится курсор. И второе -

      CharNum := Memo1.Perform(EM_LINEINDEX, LineNum, 0);

      для получения позиции курсора в заданной строке. Будте внимательны, так как номер строки и позиция в строке отсчитываются от нуля.

      Пример:

      ............

      {Получаем позицию курсора при щелчке мыши на компоненте}
      procedure TForm1.Memo1Click(Sender: TObject);
      VAR

        LineNum : LongInt;
        CharNum : LongInt;

      begin

        {Получаем номер строки}
        LineNum := Memo1.Perform(EM_LINEFROMCHAR, Memo1.SelStart, 0);
        {Получаем позицию в строке}
        CharNum := Memo1.Perform(EM_LINEINDEX, LineNum, 0);
        {Выводим позицию на экран}
        Label1.Caption := IntToStr(LineNum+1)+' : '+

          IntToStr((Memo1.SelStart-CharNum)+1);

      end;

      ............

      {Получаем позицию курсора при отпускании клавиши на клавиатуре}
      procedure TForm1.Memo1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
      begin

        Memo1Click(Self);

      end;

      ............


...предыдущая страница следующая...
оглавление



"Вопрос и Ответ 24"
Copyright © "В помощь Веб-Мастеру" (Alexander D. Belyaev) 2005-2024 .
При перепечатке любого материала видимая ссылка на источник "В помощь Веб-Мастеру" и все имена, ссылки авторов обязательны!
Время генерации страницы: 0.006