在delphi中,在运行时如何让拖动的控件显示在最上方?
比如窗体上有panel1、panel2、panel3三个控件。可以拖动panel1到panel2上,也可以拖动panel2到panel1上。总之,可以让拖动那个控件能够位...
比如窗体上有panel1、panel2、panel3三个控件。可以拖动panel1到panel2上,也可以拖动panel2到panel1上。总之,可以让拖动那个控件能够位于其他的控件上方,而不是被别的控件遮住了。
展开
4个回答
展开全部
我也最近才实现了这个功能,可以说是MPI窗口!
用PageControl控件可以实现,你把窗体的边框设为无边框,打开的时候最大化,每打开一个窗体就在主窗体的PageControl上面新建一个标签页,标签显示窗体的Caption属性,并把窗体的父控件设标签页,再在PageControl的标签双击事件中写入双击可以关闭当前标签页的事件就可以了!
用PageControl控件可以实现,你把窗体的边框设为无边框,打开的时候最大化,每打开一个窗体就在主窗体的PageControl上面新建一个标签页,标签显示窗体的Caption属性,并把窗体的父控件设标签页,再在PageControl的标签双击事件中写入双击可以关闭当前标签页的事件就可以了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
(Sender as TPanel).BringToFront;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
procedure Panel1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
RadioButton1.Caption := '置前';
RadioButton2.Caption := '置后';
RadioButton1.Checked := True;
Panel2.OnClick := Panel1Click;
Panel3.OnClick := Panel1Click;
Panel1.ParentBackground := False;
Panel1.Color := clRed;
Panel2.ParentBackground := False;
Panel2.Color := clLime;
Panel3.ParentBackground := False;
Panel3.Color := clBlue;
end;
procedure TForm1.Panel1Click(Sender: TObject);
begin
if RadioButton1.Checked then TPanel(Sender).BringToFront;
if RadioButton2.Checked then TPanel(Sender).SendToBack;
end;
end.
--------------------------------------------------------------------------------
窗体文件:
--------------------------------------------------------------------------------
object Form1: TForm1
Left = 0
Top = 0
Caption = 'Form1'
ClientHeight = 174
ClientWidth = 264
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
OldCreateOrder = False
OnCreate = FormCreate
PixelsPerInch = 96
TextHeight = 13
object Panel1: TPanel
Left = 8
Top = 16
Width = 151
Height = 41
Caption = 'Panel1'
TabOrder = 0
OnClick = Panel1Click
end
object Panel2: TPanel
Left = 46
Top = 40
Width = 151
Height = 41
Caption = 'Panel2'
TabOrder = 1
end
object Panel3: TPanel
Left = 102
Top = 63
Width = 151
Height = 41
Caption = 'Panel3'
TabOrder = 2
end
object RadioButton1: TRadioButton
Left = 32
Top = 136
Width = 113
Height = 17
Caption = 'RadioButton1'
TabOrder = 3
end
object RadioButton2: TRadioButton
Left = 151
Top = 136
Width = 113
Height = 17
Caption = 'RadioButton2'
TabOrder = 4
end
end
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
procedure Panel1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
RadioButton1.Caption := '置前';
RadioButton2.Caption := '置后';
RadioButton1.Checked := True;
Panel2.OnClick := Panel1Click;
Panel3.OnClick := Panel1Click;
Panel1.ParentBackground := False;
Panel1.Color := clRed;
Panel2.ParentBackground := False;
Panel2.Color := clLime;
Panel3.ParentBackground := False;
Panel3.Color := clBlue;
end;
procedure TForm1.Panel1Click(Sender: TObject);
begin
if RadioButton1.Checked then TPanel(Sender).BringToFront;
if RadioButton2.Checked then TPanel(Sender).SendToBack;
end;
end.
--------------------------------------------------------------------------------
窗体文件:
--------------------------------------------------------------------------------
object Form1: TForm1
Left = 0
Top = 0
Caption = 'Form1'
ClientHeight = 174
ClientWidth = 264
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
OldCreateOrder = False
OnCreate = FormCreate
PixelsPerInch = 96
TextHeight = 13
object Panel1: TPanel
Left = 8
Top = 16
Width = 151
Height = 41
Caption = 'Panel1'
TabOrder = 0
OnClick = Panel1Click
end
object Panel2: TPanel
Left = 46
Top = 40
Width = 151
Height = 41
Caption = 'Panel2'
TabOrder = 1
end
object Panel3: TPanel
Left = 102
Top = 63
Width = 151
Height = 41
Caption = 'Panel3'
TabOrder = 2
end
object RadioButton1: TRadioButton
Left = 32
Top = 136
Width = 113
Height = 17
Caption = 'RadioButton1'
TabOrder = 3
end
object RadioButton2: TRadioButton
Left = 151
Top = 136
Width = 113
Height = 17
Caption = 'RadioButton2'
TabOrder = 4
end
end
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
去看下万一博客吧.
有这样的一个实类!
有这样的一个实类!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询