zoukankan      html  css  js  c++  java
  • AdvStringGrid 列宽度、列移动、行高度、自动调节

    那么有没有办法,让客户自己去调整列的宽度呢?

    那么有没有办法 让列宽度、行高度 随着内容而自动变换呢:

    unit Unit5;
    
    interface
    
    uses
      Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
      Vcl.Controls, Vcl.Forms, Vcl.Dialogs, AdvUtil, Vcl.StdCtrls, Vcl.Grids,
      AdvObj, BaseGrid, AdvGrid;
    
    type
      TForm5 = class(TForm)
        Button1: TButton;
        Button2: TButton;
        AdvStringGrid1: TAdvStringGrid;
        Button3: TButton;
        Button4: TButton;
        Button5: TButton;
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
        procedure Button3Click(Sender: TObject);
        procedure Button4Click(Sender: TObject);
        procedure Button5Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      Form5: TForm5;
    
    implementation
    
    {$R *.dfm}
    
    procedure TForm5.Button1Click(Sender: TObject);
    var
      I: Integer;
    begin
      AdvStringGrid1.RowCount := 50;//一共50行0..49
      AdvStringGrid1.ColWidths[0] := 50;//改变第一列的宽度。
      AdvStringGrid1.AddCheckBoxColumn(0);//表示这一列都需要复选框
      //第0行是标题头,所以从1..49开始
      for I := 1 to 49 do
      begin
        //AdvStringGrid1.AddCheckBox(0, I, False, False); //可以写在这里, 表示某个单元格 需要增加 复选框
        AdvStringGrid1.Cells[1,I] := '第二列 + 第二列' + I.ToString;
        AdvStringGrid1.Cells[2,I] := '第三列' + I.ToString;
      end;
      AdvStringGrid1.VAlignment := vtaCenter;
    end;
    
    procedure TForm5.Button2Click(Sender: TObject);
    begin
      //调整所有列, 第一个参数是否调节固定列, 第二个参数 单元格里数据前台间隔的字符数
      AdvStringGrid1.AutoSizeColumns(True, 5);
    end;
    
    procedure TForm5.Button3Click(Sender: TObject);
    begin
      //调整指定列, 第一个参数 列号 ,第二个参数 内容前后间隔字符数
      AdvStringGrid1.AutoSizeCol(2, 100);
    end;
    
    procedure TForm5.Button4Click(Sender: TObject);
    begin
      AdvStringGrid1.AutoSizeRows(True, 5);
    end;
    
    procedure TForm5.Button5Click(Sender: TObject);
    begin
      AdvStringGrid1.AutoSizeRow(2, 50);
    end;
    
    end.

  • 相关阅读:
    VC2005从开发MFC ActiveX ocx控件到发布到.net网站的全部过程
    【Demo 0025】注册/反注册窗体类RegisterClassEx/UnregisterClass
    《白手起家Win32SDK应用程序》(完整版+目录)
    关于初始化C++类成员
    TCP和UDP的"保护消息边界" (经典)
    (经典)tcp粘包分析
    解决TCP网络传输“粘包”问题
    无锁队列
    MFC全局函数开局——AfxGetApp解剖
    Tomcat系列之服务器的安装与配置以及各组件详解
  • 原文地址:https://www.cnblogs.com/del88/p/6829449.html
Copyright © 2011-2022 走看看