DBGrid Component
5 отговора
240 прегледа
DBGrid Component
Моля за помощ!
Имам една DBGrid компонента. В нея искам да ползвам клавиш Enter за придвижване към следваща клетка, както това става с клавиш Tab. Пробвах със следния код, който върши идеална работа за DBEdit компоненти, но тук не помогна.
if Key = #13 then
begin
Key := #0;
SelectNext(ActiveControl,True,True);
end;
Имам една DBGrid компонента. В нея искам да ползвам клавиш Enter за придвижване към следваща клетка, както това става с клавиш Tab. Пробвах със следния код, който върши идеална работа за DBEdit компоненти, но тук не помогна.
if Key = #13 then
begin
Key := #0;
SelectNext(ActiveControl,True,True);
end;
Re: DBGrid Component
SelectNext минава в следващата контроло по TAB order-a. Опитай нещо от сорта на:
if DBGrid1.Fields[DBGrid1.selectedField.Index].Index < DBGrid1.Fieldcount-1 then
DBGrid1.SelectedIndex := DBGrid1.selectedField.Index +1
или нещо такова.
AquilaX
____________
умният знае кога да говори, мъдрият знае кога да мълчи
if DBGrid1.Fields[DBGrid1.selectedField.Index].Index < DBGrid1.Fieldcount-1 then
DBGrid1.SelectedIndex := DBGrid1.selectedField.Index +1
или нещо такова.
AquilaX
____________
умният знае кога да говори, мъдрият знае кога да мълчи
Използвай друго
Иползвай event
OnKeyDown
и използвай рашиените кодове
if key=vk_Return then Perform(WM_NEXTDLGCTL,0,0)
това е симулирането на таб а ко е Perform(WM_NEXTDLGCTL,1,0) то е Shift+Tab
:)))
OnKeyDown
и използвай рашиените кодове
if key=vk_Return then Perform(WM_NEXTDLGCTL,0,0)
това е симулирането на таб а ко е Perform(WM_NEXTDLGCTL,1,0) то е Shift+Tab
:)))
Re: DBGrid Component
Prosro e kato vselenataaaa:
Дори и да не можеш - ТРЯБВА.
Щом трябва значе МОЖЕШ.
procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);;
begin
if Key = 13 then
(DBGrid1 as TWinControl).Perform(WM_KEYDOWN, VK_TAB, 0);
end
Дори и да не можеш - ТРЯБВА.
Щом трябва значе МОЖЕШ.
Re: DBGrid Component
Ami kakwo ste stane ako ...
prosto se zameni sas slednoto
if Key = 13 then
Key := VK_TAB;
- ne sam go probwal - no mi se struwa 4e ste raboti to4no kakto se iska
---
Е т'ва е живот!
prosto se zameni sas slednoto
if Key = 13 then
Key := VK_TAB;
- ne sam go probwal - no mi se struwa 4e ste raboti to4no kakto se iska
---
Е т'ва е живот!