麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Delphi > 正文

delphi中command/action的疑惑

2019-11-18 18:16:14
字體:
來源:轉載
供稿:網友

   在看了一大堆提到界面和代碼分離的理論以后,不知道大家對command/action模式到底是怎么理解的?我在此也有如此疑問,一般情況下在dlephi中一提到command/action 模式,第一個想到的就是TActionList,TActionManager等一系列的action控件,然而似乎delphi控件的設計方式或者說事件件調用方法本身就是以command/action模式來進行設計的。也就是說不必去刻意的追求command/action模式而是在一般的編碼是注意一些我看就足夠了。

就我的理解以TButton的OnClick事件來說。
   一般情況下,在我們的程序重要想定義這個事件直接雙擊該控件然后再寫代碼就是了,例如:
   PRocedure TForm1.Button1Click(Sender: TObject);
   begin
     ...; 
   end;
  可能有人會認為這樣代碼和界面耦合就比較嚴重了因為這個函數實際上和界面混合在一起了.以后要是修改界面的話就會很麻煩了。
 可是我卻不這么認為,就以下為例吧:
 要是想用另一個button2(或是一個menuitem或是其他的一個command事件)來實現這個功能,我可以讓button2的OnClick事件指向指向Button1Click就行啊。并且在修改的時候也只是維護Button1Click這一份代碼阿?

或者在其次我在button2的初始化的時候(因為button2可以動態創建)令button2.OnClick := Button1Click就行啊,我為什么要一定來實現這個所謂的TAction呢?

再說道對界面的控制,用TAction 的對象可以對界面對象進行一些簡單的操作,可是在一般情況下我也可以通過調用函數的sender參數來完成相同的工作阿,比如我想讓所有的調用了button1Click的空間都消失我可以這樣做:

  if Sender is TControl then
     TControl(Sender).Visible := false;

這和調用TAction.Visible并沒什么區別.



 


上一篇:在delphi字符中包括單引號(')

下一篇:在Delphi中獲取和修改文件的時間

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

主站蜘蛛池模板: 久久久精品福利 | 激情小说另类 | 欧美精品成人一区二区在线观看 | 亚洲一区二区三区高清视频 | 国产精品欧美久久久久一区二区 | 欧美.com | 伊人一二三四区 | 91美女福利视频 | 欧美黄色一级片视频 | 欧美一级棒 | 欧美精品国产综合久久 | a网在线| 欧美乱淫 | 伊人网站| 男女隐私免费视频 | 中国免费一级毛片 | av在线免费电影 | 国产精品一区久久久久 | 久久另类视频 | 亚洲四播房 | 成人一区久久 | 国产精品刺激对白麻豆99 | 欧美 日韩 国产 成人 | 国产精品免费视频观看 | 久久撸视频 | 毛片午夜 | 爽毛片 | 久久最新视频 | 国产亚洲欧美一区久久久在 | 成人男男视频拍拍拍在线观看 | 55夜色66夜色国产精品视频 | 国产午夜探花 | 在线天堂中文在线资源网 | 国产高清自拍一区 | 欧美成人午夜 | 免费一级欧美 | 热99re久久免费视精品频软件 | 91亚洲免费视频 | 国产免费成人 | 欧美日韩手机在线观看 | 久久久久久久一区二区 |