可堆叠面板Delphi组件

可堆叠面板Delphi组件,delphi,components,delphi-2010,Delphi,Components,Delphi 2010,有人知道Delphi组件实现了与jQuerySortable类似的功能,但它是针对桌面应用程序的吗 i、 e.一种垂直控件,其中包含许多可以重新排序的面板,也可用作其他组件(特别是包含不同文本位的TMemos)的容器 谢谢你提供的任何信息 Breandan.TMS具有可折叠/扩展的TAdvPanelGroup。请参见右下角的屏幕截图: 只运行一次,然后我从运行的应用程序中移动并调整它们的大小 以下是dfm: object Form2: TForm2 Left = 0 Top = 0

有人知道Delphi组件实现了与jQuerySortable类似的功能,但它是针对桌面应用程序的吗

i、 e.一种垂直控件,其中包含许多可以重新排序的面板,也可用作其他组件(特别是包含不同文本位的TMemos)的容器

谢谢你提供的任何信息


Breandan.

TMS具有可折叠/扩展的TAdvPanelGroup。请参见右下角的屏幕截图:

只运行一次,然后我从运行的应用程序中移动并调整它们的大小

以下是dfm:

object Form2: TForm2
  Left = 0
  Top = 0
  Caption = 'Form2'
  ClientHeight = 337
  ClientWidth = 635
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
  object clbr1: TCoolBar
    Left = 0
    Top = 0
    Width = 635
    Height = 313
    Bands = <
      item
        Control = gb1
        ImageIndex = -1
        MinHeight = 123
        Width = 629
      end
      item
        Control = pnl1
        ImageIndex = -1
        MinHeight = 112
        Width = 629
      end>
    object gb1: TGroupBox
      Left = 11
      Top = 0
      Width = 620
      Height = 123
      Caption = 'gb1'
      TabOrder = 0
      object lbledt1: TLabeledEdit
        Left = 112
        Top = 40
        Width = 121
        Height = 21
        EditLabel.Width = 32
        EditLabel.Height = 13
        EditLabel.Caption = 'lbledt1'
        TabOrder = 0
      end
    end
    object pnl1: TPanel
      Left = 11
      Top = 125
      Width = 620
      Height = 112
      Caption = 'pnl1'
      TabOrder = 1
      object rg1: TRadioGroup
        Left = 128
        Top = 4
        Width = 185
        Height = 105
        Caption = 'rg1'
        Items.Strings = (
          'dsfsdf'
          'sdfsdfsd')
        TabOrder = 0
      end
    end
  end
end
对象格式2:TForm2
左=0
Top=0
标题='Form2'
ClientHeight=337
ClientWidth=635
颜色=clBtnFace
Font.Charset=默认字符集
Font.Color=clWindowText
字体高度=-11
Font.Name='Tahoma'
Font.Style=[]
OldCreateOrder=False
PixelsPerInch=96
text高度=13
对象clbr1:t工具栏
左=0
Top=0
宽度=635
高度=313
波段=<
项目
控制=gb1
ImageIndex=-1
最小高度=123
宽度=629
结束
项目
控制=pnl1
ImageIndex=-1
最小高度=112
宽度=629
结束>
对象gb1:TGroupBox
左=11
Top=0
宽度=620
高度=123
标题='gb1'
TabOrder=0
对象lbledt1:TLabeledEdit
左=112
Top=40
宽度=121
高度=21
EditLabel.Width=32
EditLabel.Height=13
EditLabel.Caption='lbledt1'
TabOrder=0
结束
结束
对象pnl1:TPanel
左=11
顶部=125
宽度=620
高度=112
标题='pnl1'
TabOrder=1
对象rg1:TRadioGroup
左=128
Top=4
宽度=185
高度=105
标题='rg1'
Items.Strings=(
“dsfsdf”
“sdfsdfsd”)
TabOrder=0
结束
结束
结束
结束

虽然我是通过代码而不是设计时间来完成的,但我会使用一个TScrollbox或TPanel,其中包含一些框架或面板,这些框架或面板都是顶部对齐的。如果我想对帧进行折叠/展开,我只需在帧中放置一个按钮,允许您将帧折叠到最小高度,例如折叠时为20像素,展开时为更高的高度


里面的框架可以是你想要的任何控件,甚至是包含一些其他控件的面板。顶级控件可以在父面板或滚动框中重新排序。

我还没有找到一个标准控件可以在Delphi 2007中实现您想要的功能,但我会提供一个与Warren建议的类似的自定义解决方案。主要区别在于,我将在TFrame中创建它,这样您就可以更轻松地维护代码,从而允许您操纵控件及其相互之间的交互。您还可以在框架内创建方法,用于添加新面板(带有要显示的备忘录和文本),移动它们,等等


这是一点工作,但它也可以是一个伟大的学习经验。最好的部分是,一旦完成,您就可以在任何形式或其他框架中的任何位置重用该框架。如果你做得好,它也会很好地工作。

你使用的是哪个版本的Delphi?我这样问是因为根据您的版本,您可能有权也可能没有权访问某些内置控件。谢谢您迄今为止的回答。我目前正在使用Delphi 2010。@Jerry,我认为最好你回答这个问题,然后在其中提到它只适用于某些版本。这样,即使该用户没有必要的版本,其他想知道同样事情的人也可以从这个问题中受益。TCategoryPanel是否在D2010中?我不记得了,我不明白我们在看什么。你能添加一些句子来解释你的答案是什么吗?你能澄清你的第一句话吗?什么是只运行一次,为什么不能再运行一次?使用“一次运行”,我想说的是我没有通过设计器修改UI。。。我只有在应用程序启动时拖放“面板”。面板包含控件。因此,由于我不确定是否完全理解了这个问题,我展示了仅使用显示的dfm可以做什么