博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
窗体设计器的使用套件
阅读量:7219 次
发布时间:2019-06-29

本文共 986 字,大约阅读时间需要 3 分钟。

窗体设计器,这个东西大家都不会陌生!最进一段时间,一直在弄关于动态设计窗体控件的东西。放放拣拣,搞了好长一段时间了。这次出差回来,终于全部都弄完了。其为一套组件,共包括6个控件,分别为Formdesigner(窗体设计器),DsControlPanel(控件面板体现器),DsnInspector(对象监测器),DsnManager(设计器管理器),DsnSelect(控件选择器),DsnControlContainer(非可见控件容器)。呵呵,通过这6个控件可以很简单的设计,所有Delphi中的控件,包括第三方控件。

设计界面:

    

这个是设计界面了,如果是非可见组件的话,拖一个TDsnControlContainer非可见组件容器到DsControlPanel(控件面板体现器)上,此时会弹出一个对话框如下:


此时,你输入一个连接的非可见组件的名称,比如,我们输入TTimer,则对应就会生成一个和TTimer连接的控件Button,则此时,(控件面板体现器)如下:


呵呵,然后,在窗体的OnShow事件中将  窗体设计管理器 的Active属性设为True则可

 self.DxDsnManager1.Active := true;

看看程序的效果吧


如果是加入的第三方控件,则 控件面板展现器  有一个事件 OnRegisterControl事件里面有一个参数NewArray它是一个Var变量,我们只用在这个事件中将自己的第三方的控件类加入该数组则可,例如,将CnPack中的

TCnSQLAnalyzer查询分析器组件加入设计器中进行设计,我们先将TCnSQLAnalyzer组件拖到控件面板上,让面板自动生成对应的连接按扭,此时界面如下:


那个选中的按扭则为TCnSQLAnalyzer控件对应的连接器。

然后在事件中写代码如下:

procedure TForm1.DxDsControlPanel1RegisterControl(

  var NewArray: TclassesArray);

begin

   SetLength(NewArray,1);

   NewArray[0] := TCnSQLAnalyzer;  

end;

运行之后看效果吧,呵呵,效果如下:

转载于:https://www.cnblogs.com/lechance/p/4373241.html

你可能感兴趣的文章
Jedis、JedisPool、ShardedJedis和ShardedJedisPool,java对redis的基本操作
查看>>
[转载] 致命伴侣
查看>>
HTML5 localStorage本地存储实际应用举例
查看>>
Scala访问修饰符
查看>>
实习感悟
查看>>
产品经理网站小结
查看>>
Bootstrap 附加导航插件
查看>>
如何设置启动SMTP、POP3以及IMAP4的SSL服务端口?
查看>>
自制函数strcpy
查看>>
gSoap开发(三)——WSDL简介
查看>>
软件RAID5项目实战!!!
查看>>
Java基础学习总结(21)——数组
查看>>
js格式化日期
查看>>
定时与延时任务
查看>>
Squid 日志分析 和反向代理
查看>>
Hadoop的安装及一些基本概念解释
查看>>
大容量分区命令parted
查看>>
从输入 URL 到页面加载完成的过程中都发生了什么事情?
查看>>
实例讲解JQuery中this和$(this)区别
查看>>
centos 7 静态ip地址模板
查看>>