您的位置:程序门 -> delphi -> 数据库相关



如何在指定区域创建按钮


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


如何在指定区域创建按钮
发表于:2007-05-15 09:18:17 楼主
我现在放了一个panel按钮在窗体上.如何在这个panel上自动创建按钮啊..并且可以拖动按钮的位置...
发表于:2007-05-15 10:18:151楼 得分:0
放一个panel在上面,为它写两个事件,
还有一个可以动态生成button的按钮,代码如下:
unit   unit1;

interface

uses
    windows,   messages,   sysutils,   variants,   classes,   graphics,   controls,   forms,
    dialogs,   extctrls,   stdctrls;

type
    tform1   =   class(tform)
        panel1:   tpanel;
        button1:   tbutton;
        procedure   panel1dragdrop(sender,   source:   tobject;   x,   y:   integer);
        procedure   panel1dragover(sender,   source:   tobject;   x,   y:   integer;
            state:   tdragstate;   var   accept:   boolean);
        procedure   button1click(sender:   tobject);
    private
        {   private   declarations   }
    public
        {   public   declarations   }
    end;

var
    form1:   tform1;

implementation

{$r   *.dfm}

procedure   tform1.panel1dragdrop(sender,   source:   tobject;   x,   y:   integer);
begin
    if   (source   is   tbutton)   then
    begin
        with   source   as   tbutton   do
        begin
            left   :=   x;
            top   :=   y;
        end;
    end;
end;

procedure   tform1.panel1dragover(sender,   source:   tobject;   x,   y:   integer;
    state:   tdragstate;   var   accept:   boolean);
begin
    if   source   is   tbutton   then   accept   :=   true;
end;

procedure   tform1.button1click(sender:   tobject);
begin
    with   tbutton.create(self)   do
    begin
        parent   :=   panel1;
        top   :=   panel1.top   +   5;
        left   :=   panel1.left   +   5;
        dragmode   :=   dmautomatic;
        caption   :=   'test ';
    end;
end;

end.
发表于:2008-01-04 14:40:252楼 得分:0
楼上正确
发表于:2008-01-17 16:57:513楼 得分:0
ding-1楼!不过顺便跟楼主说一声,这些东西网上都有,上网一搜就可以看到控件拖拽的问题!多留意一下!


快速检索

最新资讯
热门点击