delphi ListView 设置固定列宽


本文整理自网络,侵删。

 
object Form1: TForm1
Left = 0
Top = 0
Caption = 'Form1'
ClientHeight = 772
ClientWidth = 635
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
OldCreateOrder = False
OnCreate = FormCreate
OnDestroy = FormDestroy
PixelsPerInch = 96
TextHeight = 13
object lvErrMsgs: TListView
Left = 0
Top = 0
Width = 635
Height = 415
Align = alTop
BevelInner = bvNone
BevelOuter = bvNone
BorderWidth = 1
Columns = <
item
Caption = ' '
Width = 30
end
item
Caption = #26500#20214#21517#31216
Width = 75
end
item
Caption = #25152#23646#27004#23618
Width = 75
end
item
Caption = #38169#35823#25551#36848
Width = 500
end>
ColumnClick = False
DragCursor = crAppStart
FlatScrollBars = True
GridLines = True
HideSelection = False
Items.ItemData = {
05450000000100000000000000FFFFFFFFFFFFFFFF03000000FFFFFFFF000000
000003310031003100F85CC32603320032003200A85BC326057A007800630076
006200B059C326FFFFFFFFFFFF}
ReadOnly = True
RowSelect = True
ShowWorkAreas = True
TabOrder = 0
ViewStyle = vsReport
ExplicitTop = -115
ExplicitWidth = 524
end
end





unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ComCtrls;

type
  TForm1 = class(TForm)
    lvErrMsgs: TListView;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
  FListViewOldWndProc: TWndMethod;
  procedure ListViewNewWndProc(var Msg: TMessage);
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation
uses
CommCtrl;

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  FListViewOldWndProc := lvErrMsgs.WindowProc;
  lvErrMsgs.WindowProc := ListViewNewWndProc;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  lvErrMsgs.WindowProc := FlistViewOldWndProc;
  FListViewOldWndProc := nil;
end;

procedure TForm1.ListViewNewWndProc(var Msg: TMessage);
var
hdn: ^THDNotify;
begin
if Msg.Msg = WM_NOTIFY then
begin
hdn := Pointer(Msg.lParam);
if (hdn.hdr.code = HDN_BeginTrackW) or (hdn.hdr.code = HDN_BeginTrackA) then
Msg.Result := 1
else
FListViewOldWndProc(Msg);
end else
FListViewOldWndProc(Msg);
end;


end.

相关阅读 >>

Delphi 选择一张照片,让照片缩略图显示在图片控件中间

Delphi共享软件防破解的实用招法

Delphi截取字符串的方法

Delphi中webbrowser的用法

Delphi unigui程序部署到服务器

Delphi报警声音 beep、messagebeep 和 windows.beep

Delphi获得唯一id字符串

Delphi 怎么将一个流转换成字符串?或者将字符串转出一个流

Delphi edit右键系统菜单加自定义菜单项

Delphi case选择语句练习代码简化

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...