Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.01.2016, 17:30   #1
Dux
Delphi Master
Форумчанин Подтвердите свой е-майл
 
Аватар для Dux
 
Регистрация: 31.03.2008
Сообщений: 803
По умолчанию При нажатии Tab переходить на след. столбец DBGRID

Как сделать, чтобы при нажатии Tab курсор в DBGrid переходил не на следующую строку, а в следующую ячейку? Заранее спасибо за советы.
Dux вне форума Ответить с цитированием
Старый 25.01.2016, 17:47   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Не понял. Он и так на колонку переходит. В Options только включить dgTabs

PS а-а вспомнил, когда ReadOnly=True или колонки только для чтения, тогда это не работает. Не помню как это обойти
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 25.01.2016 в 17:53.
Аватар вне форума Ответить с цитированием
Старый 25.01.2016, 17:59   #3
Dux
Delphi Master
Форумчанин Подтвердите свой е-майл
 
Аватар для Dux
 
Регистрация: 31.03.2008
Сообщений: 803
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
PS а-а вспомнил, когда ReadOnly=True или колонки только для чтения, тогда это не работает. Не помню как это обойти
Вот именно это и хотелось бы обойти Потому что даже когда не ReadOnly, а в режиме Edit - у меня все равно перескакивает вниз - причину пока найти не могу
Dux вне форума Ответить с цитированием
Старый 25.01.2016, 19:35   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Ни чего более умного в голову не пришло, кроме как (или что-то в таком же духе)
Код:
procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  if Key=VK_TAB then begin
    Key:=0;
    if DBGrid1.SelectedIndex<DBGrid1.Columns.Count-1 then DBGrid1.SelectedIndex:=DBGrid1.SelectedIndex+1
                                                     else DBGrid1.SelectedIndex:=0;
  end;
end;
PS еще и Shift+tab можно всунуть для обратного перемещения
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 25.01.2016 в 19:56.
Аватар вне форума Ответить с цитированием
Старый 29.01.2016, 12:54   #5
Dux
Delphi Master
Форумчанин Подтвердите свой е-майл
 
Аватар для Dux
 
Регистрация: 31.03.2008
Сообщений: 803
По умолчанию

Аватар, что-то не выходит. Вставил Ваш код и tab просто перестал работать..
Dux вне форума Ответить с цитированием
Старый 29.01.2016, 13:10   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Должен работать. Посмотри в отладчике чего делает. Если скины используются, то понятия не имею как будет реагировать
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 29.01.2016, 13:13   #7
Dux
Delphi Master
Форумчанин Подтвердите свой е-майл
 
Аватар для Dux
 
Регистрация: 31.03.2008
Сообщений: 803
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Посмотри в отладчике чего делает.
Простите за глупый вопрос. Это где?
Dux вне форума Ответить с цитированием
Старый 29.01.2016, 13:22   #8
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

У-у. В делфи, где же еще. Объяснять не буду, а тривиальную ссылку дам

http://www.google.com.ua/search?hl=r...24.Q1r4OyfuMqw

PS в гриде самом то нацелил нужное событие на обработчик?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 29.01.2016 в 13:27.
Аватар вне форума Ответить с цитированием
Старый 29.01.2016, 13:27   #9
Dux
Delphi Master
Форумчанин Подтвердите свой е-майл
 
Аватар для Dux
 
Регистрация: 31.03.2008
Сообщений: 803
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
У-у. В делфи, где же еще. Объяснять не буду, а тривиальную ссылку дам

http://www.google.com.ua/search?hl=r...24.Q1r4OyfuMqw
Спасибо большое! Учиться никогда не поздно!
Dux вне форума Ответить с цитированием
Старый 29.01.2016, 13:28   #10
Dux
Delphi Master
Форумчанин Подтвердите свой е-майл
 
Аватар для Dux
 
Регистрация: 31.03.2008
Сообщений: 803
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение

PS в гриде самом то нацелил нужное событие на обработчик?
Подскажите как это сделать?
Dux вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение цвета строки Dbgrid при нажатии кнопки city32 Компоненты Delphi 6 04.04.2015 18:33
Найти скалярное произведение i строки на i столбец элементы матрицы зада по след правилу (Нафаня) Помощь студентам 5 07.06.2012 13:49
как сделать так чтобы при нажатии на ComboBox выводилось поле из таблицы DBGrid? jawa250t БД в Delphi 4 21.04.2012 21:57
DBGrid: При нажатии ConectionString>Build не появляется окно Katus БД в Delphi 17 29.12.2011 12:26
показания DateTimePicker при нажатии Buttons перенести в колонку DBGrid Alex_76 Помощь студентам 1 14.07.2008 15:55