BlackLotos Опубликовано 10 сентября, 2015 Поделиться Опубликовано 10 сентября, 2015 Здравствуйте. Собственно тема говорит сама за себя. Имеется объект класса "TStringGrid". Колонки и строки создаются динамически. Необходимо переместить фокус ввода в заданную ячейку. Не могу сообразить как это сделать. Цитата Ссылка на комментарий
0 FIL Опубликовано 10 сентября, 2015 Поделиться Опубликовано 10 сентября, 2015 StringGrid.SelectCell() StringGrid.SelectColumn() StringGrid.SelectRow() StringGrid.Selected Цитата Ссылка на комментарий
0 BlackLotos Опубликовано 10 сентября, 2015 Автор Поделиться Опубликовано 10 сентября, 2015 StringGrid.SelectCell() StringGrid.SelectColumn() StringGrid.SelectRow() StringGrid.Selected Наугад написал? Данные методы не передают фокус ввода в заданную ячейку. Цитата Ссылка на комментарий
0 FIL Опубликовано 10 сентября, 2015 Поделиться Опубликовано 10 сентября, 2015 Данные методы не передают фокус ввода в заданную ячейку. Данные методы передают фокус. Если надо активировать ввод (редактор ячейки), то можно воспользоваться для этого методом TColumn.ShowEditor. Цитата Ссылка на комментарий
0 BlackLotos Опубликовано 11 сентября, 2015 Автор Поделиться Опубликовано 11 сентября, 2015 Данные методы не передают фокус ввода в заданную ячейку. Данные методы передают фокус. Если надо активировать ввод (редактор ячейки), то можно воспользоваться для этого методом TColumn.ShowEditor. 1. Я изначально спрашивал про ФОКУС ВВОДА. По этому не ясно к чему ты написал те методы. 2. "ShowEditor" является protected и для доступа к нему придется делать новый класс на основе "TColumn" (в моем случае TStringColumn). Нужели нет каких то стандартных методов без лишнего нагромождения? Цитата Ссылка на комментарий
0 FIL Опубликовано 11 сентября, 2015 Поделиться Опубликовано 11 сентября, 2015 Ну если одна строка кода - это нагромождение, то ищи какие-нибудь стандартные методы (или жди когда это кто-нибудь сделает за тебя). Цитата Ссылка на комментарий
0 BlackLotos Опубликовано 11 сентября, 2015 Автор Поделиться Опубликовано 11 сентября, 2015 Ну если одна строка кода - это нагромождение, то ищи какие-нибудь стандартные методы (или жди когда это кто-нибудь сделает за тебя). Тут напрашивается один из трех выводов: 1. Либо Вы весьма невнимательны и пропустили предложение про "protected" и создание отдельного класса просто для того, чтоб перенести фокус ввода. И тот факт, что для переноса каретки приходится делать отдельный класс - действительно является нагромождением. (кстати, в пользу невнимательности говорит и тот факт, что Вы начали писать просто про фокус, несмотря на то, что изначально речь шла о фокусе ввода) 2. Либо Вы не понимаете, что поля и методы, находящиеся под директивой "protected", не доступны пользователям класса. И не понимаете- почему нужно делать новый класс. 3. Либо (самое ужасное) создание нового класса с методом, позволяющим переносить фокус ввода в заданную ячейку, Вы делаете в одну строку кода . Цитата Ссылка на комментарий
0 FIL Опубликовано 11 сентября, 2015 Поделиться Опубликовано 11 сентября, 2015 3. Цитата Ссылка на комментарий
0 BlackLotos Опубликовано 11 сентября, 2015 Автор Поделиться Опубликовано 11 сентября, 2015 Тем не мение вопрос остается открытым - можно ли переместить фокус ввода в заданную ячейку таблицы ? (без создания дополнительного класса) Цитата Ссылка на комментарий
0 #WAMACO Опубликовано 11 сентября, 2015 Поделиться Опубликовано 11 сентября, 2015 Так, а если переместить и программно нажать BackSpace, например! Так, как идея, не уверен, что пройдет! Цитата Ссылка на комментарий
Вопрос
BlackLotos
Здравствуйте. Собственно тема говорит сама за себя. Имеется объект класса "TStringGrid". Колонки и строки создаются динамически. Необходимо переместить фокус ввода в заданную ячейку. Не могу сообразить как это сделать.
Ссылка на комментарий
9 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.