需要截获LVM_SETCOLUMN消息。例子:
unit   Unit1;

interface

uses
    Windows,   Messages,   SysUtils,   Variants,   Classes,   Graphics,   Controls,   Forms,
    Dialogs,   ComCtrls,   CommCtrl,   StdCtrls;

type
    TMyListView   =   class(TListView)
    protected
        procedure   LVMSETCOLUMN(var   Message:   TMessage);
            message   LVM_SETCOLUMN;
    end;
    TForm1   =   class(TForm)          
        Button1:   TButton;
        Edit1:   TEdit;
        procedure   Button1Click(Sender:   TObject);            
    end;

var
    Form1:   TForm1;

implementation

{$R   *.dfm}

{   TMyListView   }

procedure   TMyListView.LVMSETCOLUMN(var   Message:   TMessage);
var
    Lv:   PLVColumn;
begin
    inherited;
    Lv   :=   Pointer(Message.LParam);
    if   LVCF_WIDTH and   Lv.mask   <>   0   then
        Form1.Edit1.Text   :=   '第 '+IntToStr(Message.WParam)+ '列宽度改变为: '+IntToStr(Lv.cx);
end;

procedure   TForm1.Button1Click(Sender:   TObject);
var
    MyListView:   TMyListView;
begin
    MyListView   :=   TMyListView.Create(Self);
    MyListView.Parent   :=   Self;
    MyListView.ViewStyle   :=   vsReport;
    MyListView.Columns.Add.Caption   :=   'AA ';
    MyListView.Columns.Add.Caption   :=   'BB ';
end;

end.

相关文章:

  • 2021-07-26
  • 2022-12-23
  • 2021-12-05
  • 2021-10-04
  • 2021-12-05
  • 2022-12-23
  • 2021-08-18
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-11-28
  • 2021-11-15
  • 2021-05-18
  • 2021-12-16
  • 2021-08-19
相关资源
相似解决方案