![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Отмена Tab в DBGrid на определённую колонку [D7, MSSQL]
Grey © (2003-02-24 13:12:00)Мастера, подскажите пожалуйста, как в DBGrid отменить действие клавиши Tab на определённую колонку, т.е. как в полях read only , чтобы не заходило в данную колонку, а перескакивало на следующую.
Grey (2003-02-25 12:22:00) [1]как унаследовать свойство TabStops в наследнике , чтобы можно было написать Grid.TabStops[6]:=false;
компонента - наследник TCustomGrid
ermserg (2003-02-24 19:18:00) [2]Ya imel vvidu sozdash class - naslednik ot TDBGrid.
ermserg (2003-02-24 19:17:00) [3]to Grey:
TabStops - protected. Mozhesh poluchit k nemu dostup is svoyey programmi esli sozdash naslednika TDBGrid v svoyom module.
Grey (2003-02-24 19:02:00) [4]>Zz_
да, чтото типа этого , только с Tab
да, VK_TAB
Zz_ (2003-02-24 18:58:00) [5]Что-то типа этого? Не проверял
Не помню как TAB. VK_TAB ???
procedure Tf.gridKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if(Key=VK_RIGHT)then begin
//Нельзя 2
if(grid.SelectedIndex = 1)then begin
Key := 0;
grid.SelectedIndex := 3;
end;
end else
if(Key=VK_LEFT)then begin
//Нельзя 2
if(grid.SelectedIndex = 3)then begin
Key := 0;
grid.SelectedIndex := 1;
end;
Grey (2003-02-24 18:53:00) [6]> Zz_
точно так
Grey (2003-02-24 18:52:00) [7]>ermserg ©
TabStops есть в TCustomGrid, а TCustomDBGrid наследуется из TCustomGrid
в OnKeyDown конечно можно написать обработчик нажатия, но неужели нельзя сделать это стандартными средствами ?
Zz_ (2003-02-24 18:52:00) [8]tab нельзя а мышкой можно. так что-ли ?
Grey (2003-02-24 18:47:00) [9]>Соловьев ©
так мне не надо read only
надо чтобы была возможность редактировать колонку, но по tab чтобы в неё не входило
ermserg (2003-02-24 18:44:00) [10]to Grey:
Postav flag dgTabs v false (DBGrid.Options), v sobitii OnKeyDown otlavlivay Tab i Alt+Tab i peremeschay focus na kakuyu hochesh column.
Соловьев (2003-02-24 18:36:00) [11]:)))
по умолчанию в else вроде
ermserg (2003-02-24 18:32:00) [12]to Solovyov: a kogda Grid.ReadOnly = false? :)
ermserg (2003-02-24 18:30:00) [13]U TDBGrid net svoystva TabStops.
Соловьев (2003-02-24 18:27:00) [14]сделай read only:
if Column.FieldName="NO_EDIT" then Grid.ReadOnly := true
else Grid.ReadOnly := true;
Grey (2003-02-24 17:41:00) [15]> Соловьев ©
в том то и дело, что колонку можно редактировать, так бы я просто поставил read only и всё бы работало
надо чтобы по tab не входило в колонку
так что никто не использовал TabStops?
Соловьев (2003-02-24 16:42:00) [16]проверь, что елс колонку не надо редактировать, то перейти на следующую. Как? наверное сэмулируй нажатие Tab...
Grey (2003-02-24 16:27:00) [17]Тогда может кто-нибудь знает как использовать TabStops ?
а то пишу Grid.TabStops[6]:=false; , а компилятор выдаёт ошибку , что неизвестный идентификатор , хотя в хелпе написано, что можно так делать
Grey (2003-02-24 15:00:00) [18]Что , никто не знает , что-ли ?