2017-02-27 33 views
-2

我有一個窗體中的TStringGrid組件的數量。我想要使​​用Tab鍵在StringGrid之間移動。德爾福:與標籤之間的字符串網格之間移動

問題是,當goTabs被激活時,它很好地在StringGrid的單元之間移動,但是一旦選擇了右下角的單元格,下一個選項卡將選中相同StringGrid的左上角單元格。

我該如何重寫?

謝謝。

+2

這對你的用戶來說不是一個有趣的用戶界面。對我來說TAB應該在控件之間或網格中的單元格之間移動,但不能同時移動。您真的希望您的用戶在一個控件中的所有單元格中進行TAB選擇,以便進入下一個控件。有一個統治性格子時,網格內的製表符適用於電子表格程序。 –

+0

另外,如果你確實堅持像這樣前進,請記住你還需要實現反向選項卡。 –

+0

是的,我確實想這樣做。它也像有很多的編輯框,你只是從一個到另一個選項卡,所以我不覺得它很不愉快或不直觀。有關如何實施它的任何想法? – 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 +製表符在其他地方工作,即使在你的程序中,除了這個殘缺的控制。這很容易處理。 –