29. september 2011 - 17:10Der er
7 kommentarer og 1 løsning
Lave Enter om til Tab
Jeg har en form med et TDBGrid på hvor jeg gerne vil have det sådan at når man trykker enter så skifter den til næste kolonne. Svarende til at trykke på Tab. Jeg har prøvet nedenstående på formens FormKeyPress og jeg kan også se at den reagerer på enter, men den 'Tabber' ikke.
if Ord(Key) = 13 then begin Perform(CM_DIALOGKEY, VK_TAB, 0); Key := #0 end;
if Key=#13 then begin if DBGrid1.SelectedIndex<DBGrid1.FieldCount-1 then DBGrid1.SelectedIndex:=DBGrid1.SelectedIndex+1 else begin DBGrid1.DataSource.DataSet.Next; DBGrid1.SelectedIndex:=0; end; Key := #0 end;
DBGrid er meget anderledes at arbejde med end når man er vant til M$ Access :-) Lige nu sidder jeg og prøver at få den til at highlighte selected row, men kan kun få den til at gøre det med et enkelt felt.
procedure TfrmTransactions.grdTransactionsDrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); begin if qryTransaction.RecNo Mod 2 = 0 then grdTransactions.Canvas.Brush.Color := clSilver else grdTransactions.Canvas.Brush.Color := clDkGray; if (gdSelected in State) then grdTransactions.Canvas.Brush.Color := clHighlight; grdTransactions.DefaultDrawColumnCell(Rect, DataCol, Column, State); end;
Det 'sjove' er at jeg ikke kan se forskel på de linier der angiver farver. Men de første giver ganske fint 2 forskellige farvede linier, men den sidste farver kun et felt. Jeg undres. Men jeg finder nok de vise sten en dag :-)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.