delphi中command/action的疑惑

2016-02-19 12:52 22 1 收藏

在这个颜值当道,屌丝闪边的时代,拼不过颜值拼内涵,只有知识丰富才能提升一个人的内在气质和修养,所谓人丑就要多学习,今天图老师给大家分享delphi中command/action的疑惑,希望可以对大家能有小小的帮助。

【 tulaoshi.com - 编程语言 】

     在看了一大堆提到界面和代码分离的理论以后,不知道大家对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这一份代码阿?

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  或者在其次我在button2的初始化的时候(因为button2可以动态创建)令button2.OnClick := Button1Click就行啊,我为什么要一定来实现这个所谓的TAction呢?

  再说道对界面的控制,用TAction 的对象可以对界面对象进行一些简单的操作,可是在一般情况下我也可以通过调用函数的sender参数来完成相同的工作阿,比如我想让所有的调用了button1Click的空间都消失我可以这样做:

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

  这和调用TAction.Visible并没什么区别.

  
  
   

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

来源:http://www.tulaoshi.com/n/20160219/1602239.html

延伸阅读
标签: Delphi
  Delphi作为一种面向对象的可视化开发工具,以其开发程序的高速度和编译代码的高效率越来越受到广大编程人员的喜爱。尽管Delphi已经提供了非常强大的开发组件(VCL),但灵活使用API函数一定可以使你的程序增色不少。 状态键的检查 当今不少流行软件的编辑窗口(包括Delphi的代码编辑窗口)的底部都有一个状态条...
最近学习模式入迷, 所以就想写一篇关于模式的文章,这篇文章是Java 与模式 (阎宏 著)里的一个例子, 我把它改成Delphi的.第一次写东西, 有不足之处希望大家可以谅解. 这个例子还是比较好理解的, 所以只给出代码. unit pattern; interface uses Dialogs; type   TAudioPlayer = class;   ...
Delphi中的字符串 ——摘自网络 一:各种字符串  字符串是Object Pascal所有数据类型中最有用的类型。许多函数以字符串为传递参数。由于在Delphi中字符串的定义和使用有各种方式,包括Pascal中典型的字符串(String),Delphi支持的长字符串(ANSIString),类似于C语言的字符数组(Array of Char),指向字符的...
网上找来的 感觉对入门者很有启示 收藏一下了! No.1 判断逻辑类型 } var B: Boolean; begin B := Boolean(2); //这样只是为了调试//B := True; if B = True then ShowMessage('B = True'); //不建议//不安全 /////// if B then ShowMessage('B'); //建议//简短 end; var B: Boolean;...
标签: Delphi
  ---- Delphi是一种面向对象的编程语言,由于它采用完全集成OOP的优点,因此使它成为目前十分流行的Windows开发工具。在Delphi包含的众多类中,TApplication是一个有着十分重要作用的类。TApplication类是用于描述Delphi编制的应用程序的一个类。通过对这个类的灵活应用可以编制许多有特点的程序。下面我们就举几个这方面的例子...

经验教程

856

收藏

85
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部