test

窗体设计器的使用套件

窗体设计器,这个东西大家都不会陌生!最进一段时间,一直在弄关于动态设计窗体控件的东西。放放拣拣,搞了好长一段时间了。这次出差回来,终于全部都弄完了。其为一套组件,共包括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;
运行之后看效果吧,呵呵,效果如下:
posted @ 2015-01-15 14:12  Lechance  阅读(259)  评论(0编辑  收藏  举报