1
我有一個顯示不同MDI表單的應用程序。一個表單包含大量的可視化組件,並且在顯示錶單後不知何故焦點將丟失。我需要在接受鍵盤輸入(帶有文本字段例如TEdit,TMemo等)的表單上找到第一個控件(最低集TabOrder
),所以我可以將其設置爲active control。 LE:所有的控件都是在運行時創建的,創建順序根據業務邏輯而不同。接受鍵盤輸入的第一個控件
我有一個顯示不同MDI表單的應用程序。一個表單包含大量的可視化組件,並且在顯示錶單後不知何故焦點將丟失。我需要在接受鍵盤輸入(帶有文本字段例如TEdit,TMemo等)的表單上找到第一個控件(最低集TabOrder
),所以我可以將其設置爲active control。 LE:所有的控件都是在運行時創建的,創建順序根據業務邏輯而不同。接受鍵盤輸入的第一個控件
在這一刻,很難解決組件和用戶定製的所有問題使用框架。 – RBA
也許迭代所有控件並檢查CanFocus? –
好吧,清理完成後,「第一個」是什麼意思? Upperleftmost?關於表單的客戶區?最低的「TabOrder」?還有別的嗎? –
然後循環查找帶有TabOrder = 0的控件。(或者只需在FormCreate事件中的代碼中或在設計時在IDE中設置ActiveControl。) –