Unigui的布局面板控件 TUniRegionPanel

23 篇文章 13 订阅
转自Unigui论坛中的控件,修改为可以在xe3下编译的源友。

下面是包文件dpk内容

package UniRegionPanelDXE;

{$R *.res}
{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users}
{$ALIGN 8}
{$ASSERTIONS ON}
{$BOOLEVAL OFF}
{$DEBUGINFO ON}
{$EXTENDEDSYNTAX ON}
{$IMPORTEDDATA ON}
{$IOCHECKS ON}
{$LOCALSYMBOLS ON}
{$LONGSTRINGS ON}
{$OPENSTRINGS ON}
{$OPTIMIZATION OFF}
{$OVERFLOWCHECKS OFF}
{$RANGECHECKS OFF}
{$REFERENCEINFO ON}
{$SAFEDIVIDE OFF}
{$STACKFRAMES ON}
{$TYPEDADDRESS OFF}
{$VARSTRINGCHECKS ON}
{$WRITEABLECONST OFF}
{$MINENUMSIZE 1}
{$IMAGEBASE $400000}
{$DEFINE DEBUG}
{$ENDIF IMPLICITBUILDING}
{$IMPLICITBUILD ON}

requires
  rtl,
  vcl,
  vclimg,
  vcldb,
  dbrtl,
  uniGUI17,
  ExtPascal17,
  uIndy17,
  uniTools17;

contains
  UniRegionPanel in 'UniRegionPanel.pas';

end.


下面是UniRegionPanel.pas的源代码

//------------------------------------------------------------------------------
//                       TUniRegionPanel Component
//
// Developed By: Babak Yaghoobi
//
// Email: b_yaghobi@yahoo.com
//
// Last Update: 2011-07-30 18:00
//
//------------------------------------------------------------------------------
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//       http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
//------------------------------------------------------------------------------
unit UniRegionPanel;

interface

uses
  SysUtils, Classes, Controls, Ext, uniGUIBaseClasses, uniGUIClasses, uniPanel;

Const PackageVersion = '1.0.0' ;

Type
  TUniRegionPanel = class(TUniPanel)
  private
    FRegion: TExtBoxComponentRegion;
    FRegionable: Boolean;
    FRegionSplit: Boolean;
    FRegionCollapsible: Boolean;
    FRegionParent: TUniRegionPanel;
    FHTML: TStrings;
    FRegionFrame: Boolean;
    FRegionTitleCollapse: Boolean;
    FResgionTitle: AnsiString;
    FVersion: string;
    procedure SetHTML(const Value: TStrings);
    { Private declarations }
  protected
    { Protected declarations }
    Nav: TExtPanel ;
    Procedure Loaded; Override;
  public
    { Public declarations }
    Constructor Create(Owner: TComponent); Override;
    Destructor Destroy;
  published
    { Published declarations }
    Property Regionable: Boolean Read FRegionable Write FRegionable;
    Property RegionSplit: Boolean Read FRegionSplit Write FRegionSplit;
    Property RegionFrame: Boolean Read FRegionFrame Write FRegionFrame;
    Property RegionTitleCollapse: Boolean Read FRegionTitleCollapse Write FRegionTitleCollapse;
    Property RegionCollapsible: Boolean Read FRegionCollapsible Write FRegionCollapsible;
    Property Region: TExtBoxComponentRegion Read FRegion Write FRegion;
    Property RegionParent: TUniRegionPanel Read FRegionParent Write FRegionParent;
    Property ResgionTitle: AnsiString Read FResgionTitle Write FResgionTitle;
    Property Vesrion : string Read FVersion ;
  End;

procedure Register;

Implementation

// -----------------------------------------------------------------------------
procedure Register;
begin
  RegisterComponents('uniGUI Custom', [TUniRegionPanel]);
end;

// -----------------------------------------------------------------------------
{ TUniRegionPanel }
Constructor TUniRegionPanel.Create(Owner: TComponent);
begin
  Inherited Create(Owner);
  FVersion := PackageVersion ;
  FHTML := TStringList.Create;
end;

// -----------------------------------------------------------------------------
destructor TUniRegionPanel.Destroy;
begin
  FHTML.Free;
  inherited;
end;

// -----------------------------------------------------------------------------
procedure TUniRegionPanel.Loaded;
begin
  Inherited;
  If WebMode Then
  Begin
    ExtPanel.Frame := Self.RegionFrame ;
    ExtPanel.Title := FResgionTitle ;
    if Regionable Then
    Begin
      ExtPanel.Region := Self.Region;
      ExtPanel.Collapsible := RegionCollapsible;
      ExtPanel.Split := Self.RegionSplit;
      //ExtPanel.Width := Self.Width;
      Nav := TExtPanel.Create ;
      ExtPanel.Bbar := Nav ;
      Self.ExtPanel.AddTo(RegionParent.ExtPanel.Items);
      ExtPanel.Border := True ;
      ExtPanel.TitleCollapse := Self.RegionTitleCollapse ;
      ExtPanel.AnimCollapse := True ;
    End
    Else
    Begin
      ExtPanel.Layout := lyBorder;
      ExtPanel.Defaults := ExtPanel.JSObject('autoScroll:false');
      ExtPanel.Closable := true;
    End;
  End;

End;

// -----------------------------------------------------------------------------
procedure TUniRegionPanel.SetHTML(const Value: TStrings);
begin
  FHTML.Assign( Value ) ;
end;

// -----------------------------------------------------------------------------
End.

实际运行效果如图:



  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Delphi UniGUI DBCardView控件可以通过设置其DataSource属性来设置。例如,你可以将它设置为一个TDataSet的组件,如TTable或TClientDataSet,然后你就可以从数据库中获取数据,并使用DBCardView来显示它们。 ### 回答2: Delphi UniGUI DBCardView控件是一个用于在Delphi中创建卡片式数据展示的控件。它可以用于显示数据库中的数据,并允许用户进行简单的交互操作。以下是如何设置Delphi UniGUI DBCardView控件的步骤: 1. 首先,在Delphi中创建一个UniGUI应用程序并打开主窗体设计界面。 2. 在工具箱中找到DBCardView控件,并将其拖动到主窗体上。 3. 在主窗体上选中DBCardView控件,并在Object Inspector中找到DataSet属性。 4. 将需要显示数据的数据集组件(如TClientDataSet)拖动到主窗体上,然后将其连接到DBCardView的DataSet属性。 5. 在DBCardView的Columns属性中添加需要显示的字段列,可通过点击右侧的“...”按钮并在弹出的对话框中添加。 6. 配置每个字段列的显示属性,包括标题、宽度、对齐方式和数据绑定字段。 7. 设置合适的布局属性,如行数、列数、间距等,以适应卡片的显示样式。 8. 可进一步设置卡片的样式属性,如字体、背景颜色、选中颜色等,以及卡片的交互方式,如双击事件、选择事件等。 9. 根据需要,还可在DBCardView上添加导航栏控件(如TUniDBNavigator)以实现数据的浏览和操作。 10. 最后,编译并运行应用程序,即可在主窗体中看到使用DBCardView控件展示的数据。 通过以上步骤,您可以成功设置和使用Delphi UniGUI DBCardView控件来展示和操作数据库中的数据。您可以根据自己的需求进一步调整控件的属性和样式,以获得更符合实际应用场景的效果。 ### 回答3: Delphi UniGUI DBCardView是一个用于显示数据库记录的控件,在设计界面和代码中可以进行设置。以下是设置Delphi UniGUI DBCardView控件的步骤: 1. 在Delphi的设计界面中,打开UniGUI项目并找到需要添加DBCardView控件的窗体或页面。 2. 从Delphi的工具箱中,找到DBCardView控件并将其拖放到窗体或页面上。 3. 选中DBCardView控件,然后在Object Inspector(对象检查器)中找到UniDataSet属性。选择一个数据集作为控件的数据源,该数据集应该包含要显示的数据。 4. 在Object Inspector中,设置DBCardView控件的其他属性,例如样式、布局、字体等。可以通过设置属性来调整控件的外观和行为。 5. 在事件中,编写代码来处理控件的交互和操作。例如,可以使用OnAfterScroll事件在滚动数据时执行特定的操作,使用OnCardClick事件在卡片被点击时执行特定的操作,等等。 6. 编译和运行程序,在运行时可以看到DBCardView控件显示了数据源中的记录。 通过以上步骤,你可以设置Delphi UniGUI DBCardView控件以显示数据库记录。根据实际需求,你可以调整控件的属性和事件来满足特定的要求,并可以在代码中处理控件的操作和交互。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值