unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls,CommCtrl; type PHD_NOTIFY=^HD_NOTIFY; TForm1 = class(TForm) ListView1: TListView; Button1: TButton; procedure FormDestroy(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } oldProc: TWndMethod; procedure NewProc(var Message: TMessage); public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.NewProc(var Message: TMessage); var hn:PHD_NOTIFY; begin if message.Msg=WM_NOTIFY then begin hn:=PHD_NOTIFY(Message.LParam); if(hn^.Hdr.code=HDN_BEGINTRACKA)or(hn^.hdr.code=HDN_BEGINTRACKW) then begin // Message.Result := 1; 加入这一行就使的列头不能改变宽度 // 如果要在拖动完成后作处理,可以判断hn->hdr.code是否 // 等于HDN_ENDTRACKA或HDN_ENDTRACKW,然后作处理。 ShowMessage('hehe'); end else ListView1.Dispatch(Message); end; end; procedure TForm1.FormDestroy(Sender: TObject); begin ListView1.WindowProc:=OldProc; end; procedure TForm1.Button1Click(Sender: TObject); begin OldProc:= ListView1.WindowProc; ListView1.WindowProc:= NewProc; end; end.
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索listview
, message
, end
, sender
, listview列宽
procedure
delphi listview 列宽、listview列宽自适应、c listview 列宽、wpf listview 列宽、listview 列宽百分比,以便于您获取更多的相关知识。
时间: 2024-11-02 00:27:59