簡體   English   中英

按下“下一步”按鈕(delphi)無法聚焦

[英]Focus does not advance by pressing the “next” button (delphi)

我的表單中有4個Tedit,所有標簽的制表符格式均為0,即3:0(如所附圖像所示)。 在此處輸入圖片說明

但是,當我單擊手機中的下一個按鈕時,焦點沒有改變...

如果我鍵入了一些文本,請單擊“下一步”按鈕(不執行任何操作),然后將焦點從一個焦點手動切換到另一個焦點,然后繼續鍵入,它將復制Tedit1中的所有文本並將其粘貼到Tedit2中,就像補充了同一個Tedit。

我已經搜索了類似的問題,但沒有找到任何人遇到同樣的問題...

任何人都可能會出什么問題嗎? 我使用的是Delphi Tokyo,並且正在開發Android設備。

觀察員:我已經嘗試檢查“ KillFocusByReturn”和Tedit1的“ onExit”功能,並放在“ Tedit2.SetFocus”上,但這也行不通。

但是,當我單擊手機中的下一個按鈕時,焦點沒有改變...

根據ReturnKeyType文檔:

指示當您編輯控件的文本並按下虛擬鍵盤上的返回鍵時,編輯控件執行的操作類型 運行時平台使用此值來確定它在虛擬鍵盤上顯示的用於編輯控件的返回按鈕的類型。

當您按下返回鍵時, ReturnKeyType的值不會影響編輯控件執行的實際操作。 要定義該動作,請使用OnKeyUp事件。

因此,您需要將一個OnKeyUp事件處理程序分配給Edit1 ,並且當它指示按下Return鍵時,使其調用Edit2.SetFocus() 然后對下一個控件的Edit2做同樣的事情。 依需要依此類推。

如果您希望使用Return鍵將焦點移至下一個控件,則可能需要嘗試執行以下操作:

procedure TfrmMain.FormKeyDown(Sender: TObject; var Key: Word;
  var KeyChar: Char; Shift: TShiftState);
begin
  if Key = vkReturn then
  begin
    Key := vkTab;
    KeyDown(Key, KeyChar, Shift);
  end;
end;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM