小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

在delphi中通過回車鍵 或者上下鍵來控制獲得焦點的五種方法

 一路狂奔141 2014-05-15

         在編程過程當中,有時我們需要人為地傳遞焦點到下一個 Control, 目的方便我們或者是用戶更好的使用
,在大量的數(shù)據(jù)單元輸入或有大量的使用 TEDIT( TDBEDIT ) 控件時更是如此。筆者就日常使用的一些方法總
結(jié)出來,以荀讀者。
  從簡單的開始
使用消息傳遞機制:
  1、把焦點傳遞到下一 Control: SendMessage(Form1.Handle, WM_NEXTDLGCTL, 0, 0);
  2、把焦點傳遞到上一 Control: SendMessage(Handle, WM_NEXTDLGCTL, 1, 0); 這種方法的好處是無需考慮 Control 的數(shù)量、位置及 TabOrder 的順序。
  
使用 Delphi 的內(nèi)部函數(shù) A:
  1、把焦點傳遞到下一 Control: SelectNext((Sender AS TWinControl),true,false);
  2、把焦點傳遞到上一 Control: SelectNext((Sender AS TWinControl),false,false);
這種方法的缺點是需考慮 TabOrder 的順序。
  
使用 Delphi 的內(nèi)部函數(shù) B:
  1、把焦點傳遞到下一 Control: FocusControl(FindNextControl((Sender AS TWinControl),True,False,false));
        2、把焦點傳遞到上一 Control: FocusControl(FindNextControl((Sender AS TWinControl),False,False,false));
這種方法的缺點是需考慮 TabOrder 的順序。


使用 Delphi 的內(nèi)部函數(shù) C:
  1、把焦點傳遞到下一 Control: (FindNextControl((Sender AS TWinControl),True,False,false) As TWinControl).SetFocus;
  2、把焦點傳遞到上一 Control: (FindNextControl((Sender AS TWinControl),False,False,false) As TWinControl).SetFocus;
  這種方法的缺點是需考慮 TabOrder 的順序。
  模擬 Virual Basic 的 SendKey 事件,建立一個 SendKey 方法,有興趣的讀者可以參考 Delphi 5 CD
光碟的Info\Sendkey 目錄,里面有詳細的解釋。
  在使用以上的方法時,由于都沒有考慮到當焦點轉(zhuǎn)移時的數(shù)據(jù)變更問題,讀者在實際運用中應加以注意和
處理。 

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章