如何制作平面式列头的Listview

类别:Delphi 点击:0 评论:0 推荐:

如何制作平面式列头的Listview

 

新建一应用程序,在窗体上放置一个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://com.8s8s.com/it/it5074.htm