用户调整listview的column的width处理
生活随笔
收集整理的這篇文章主要介紹了
用户调整listview的column的width处理
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
需要截獲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)+ '列寬度改變?yōu)?#xff1a; '+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.
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)+ '列寬度改變?yōu)?#xff1a; '+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.
總結(jié)
以上是生活随笔為你收集整理的用户调整listview的column的width处理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【原創】WinMo之移動今日插件
- 下一篇: table选项卡从A页面点击进入B页面指