Перейти к содержанию
  • Регистрация
  • 0
Авторизация  
BlackLotos

TStringGrid. Перемещение фокуса ввода.

Вопрос

Здравствуйте. Собственно тема говорит сама за себя. Имеется объект класса "TStringGrid". Колонки и строки создаются динамически. Необходимо переместить фокус ввода в заданную ячейку. Не могу сообразить как это сделать. 
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Рекомендуемые сообщения

  • 0

StringGrid.SelectCell()

StringGrid.SelectColumn()

StringGrid.SelectRow()

StringGrid.Selected

Наугад написал?:) Данные методы не передают фокус ввода в заданную ячейку.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

 Данные методы не передают фокус ввода в заданную ячейку.

 

Данные методы передают фокус.

Если надо активировать ввод (редактор ячейки), то можно воспользоваться для этого методом TColumn.ShowEditor.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

 

 Данные методы не передают фокус ввода в заданную ячейку.

 

Данные методы передают фокус.

Если надо активировать ввод (редактор ячейки), то можно воспользоваться для этого методом TColumn.ShowEditor.

 

1. Я изначально спрашивал про ФОКУС ВВОДА. По этому не ясно к чему ты написал те методы.

2. "ShowEditor" является protected и для доступа к нему придется делать новый класс на основе "TColumn" (в моем случае TStringColumn). Нужели нет каких то стандартных методов без лишнего нагромождения? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Ну если одна строка кода - это нагромождение, то ищи какие-нибудь стандартные методы (или жди когда это кто-нибудь сделает за тебя).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Ну если одна строка кода - это нагромождение, то ищи какие-нибудь стандартные методы (или жди когда это кто-нибудь сделает за тебя).

Тут напрашивается один из трех выводов:

1. Либо Вы весьма невнимательны и пропустили предложение про "protected" и создание отдельного класса просто для того, чтоб перенести фокус ввода. И тот факт, что для переноса каретки приходится делать отдельный класс - действительно является нагромождением. (кстати, в пользу невнимательности говорит и тот факт, что Вы начали писать просто про фокус, несмотря на то, что изначально речь шла о фокусе ввода)

2. Либо Вы не понимаете, что поля и методы, находящиеся под директивой "protected", не доступны пользователям класса. И не понимаете- почему нужно делать новый класс.

3. Либо (самое ужасное) создание нового класса с методом, позволяющим переносить фокус ввода в заданную ячейку, Вы делаете в одну строку кода :) . 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Тем не мение вопрос остается открытым - можно ли переместить фокус ввода в заданную ячейку таблицы ? (без создания дополнительного класса)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Так, а если переместить и программно нажать BackSpace, например!

Так, как идея, не уверен, что пройдет!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...