2017-02-27 3 views
-2

폼에 TStringGrid 구성 요소가 여러 개 있습니다. 탭을 사용하여 StringGrids 사이를 이동하고 싶습니다.Delphi : 탭이있는 문자열 격자 사이를 이동

문제는 goTabs가 활성화되면 StringGrid의 셀 사이를 제대로 이동하지만 오른쪽 하단 셀을 선택하면 바로 다음 String이 동일한 StringGrid의 왼쪽 위 셀을 선택한다는 점입니다 .

어떻게 재정의 할 수 있습니까?

감사합니다.

+2

재미있는 사용자 인터페이스가 아닙니다. 나에게 TAB은 컨트롤 사이를 이동하거나 그리드의 셀 사이를 이동해야 하나 둘 다 이동할 수는 없습니다. 하나의 컨트롤에있는 모든 셀을 통해 Tab 키를 눌러 다음 컨트롤로 이동하기를 원할 것입니다. 단일 지배적 그리드가있는 경우 스프레드 시트 프로그램에서 그리드 내에서 탭 이동이 가능합니다. –

+0

또한, 이와 같이 앞으로 탭핑하는 것을 정말로 고집한다면, 역 탭도 구현해야한다는 것을 명심하십시오. –

+0

예,하고 싶습니다. 그것도 많은 editboxes을 가지고있는 것과 당신이 단지 하나에서 다른 것까지 탭하는 것을 좋아한다. 그래서 나는 그것을 매우 불쾌하거나 직관적이지 않다는 것을 알지 못한다. 그것을 구현하는 방법에 대한 아이디어? – Spymag

답변

-1

그 때와 같은 것! 모두에게 감사합니다.

procedure TfrChild.Grd0KeyDown(Sender: TObject; var Key: Word; 
    Shift: TShiftState); 
begin 
    if (Key = VK_TAB) and (Grd0.row = Grd0.RowCount - 1) and 
    (Grd0.col = Grd0.ColCount - 1) then 
    begin 
    Grd1.row := 1; 
    Grd1.col := 0; 
    Grd1.SetFocus; 
    end; 

end; 
+0

시프트 탭 또는 실제로 다른 수정자를 처리하지 않습니다. –

+0

아니요 선택하지 않기 때문에 아니요. 편도 방향은 그것이 필요한 것을 위해 충분합니다. 나는 답을 아래로 투표하는 것이 불공평하다고 생각한다. – Spymag

+0

SHIFT + TAB이 어디에서나 작동하는 가난한 사용자를 불쌍하게 생각한다. 처리가 쉽습니다. –

관련 문제