制作平面式列头的Listview

发表于:2007-06-11来源:作者:点击数: 标签:
新建一应用程序,在窗体上放置一个ListView控件和一个按钮控件,然后粘贴以下代码,代码中的有关API和常量参考Windows单元,方法是按是Ctrl键,然后单击鼠标左键 unit Unit1; interface uses Windows, Messages, SysUtils, Vari ant s, Classes, Graphics, Contro

新建一应用程序,在窗体上放置一个ListView控件和一个按钮控件,然后粘贴以下代码,代码中的有关API和常量参考Windows单元,方法是按是Ctrl键,然后单击鼠标左键

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, ComCtrls;

type

TForm1 = class(TForm)

ListView1: TListView;

Button1: TButton;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

const

LVM_GETHEADER = $1000 + 31;

var

hHeader: THandle;

style: dWord;

begin

hHeader := SendMessage(ListView1.Handle, LVM_GETHEADER, 0, 0);

style := GetWindowLong(hHeader, GWL_STYLE);

style := style xor $2;

SetWindowLong(hHeader, GWL_STYLE, style);

SetWindowPos(ListView1.Handle, Form1.Handle, 0, 0, 0, 0,SWP_NOZORDER or SWP_NOSIZE or SWP_NOMOVE or SWP_DRAWFRAME);

end;

end.



原文转自:http://www.ltesting.net

...