请问在listview的viewstyle是vsIcon的情况下,如何实现阻止listview的垂直滚动条出现,而出现水平滚动条?

解决方案 »

  1.   

    procedure TFrmToolbar.ListViewAdvancedCustomDraw(Sender: TCustomListView;
      const ARect: TRect; Stage: TCustomDrawStage; var DefaultDraw: Boolean);
    begin
        ShowScrollBar(sender.Handle,SB_HORZ,true);//显示水平滚动条
        ShowScrollBar(sender.Handle,SB_VERT,false);//隐藏垂直滚动条
        ShowScrollBar(sender.Handle,SB_BOTH,false);//隐藏所有滚动条
    end;
      

  2.   

    ListView.IconOptions.Arrangement:=iaLeft;
      

  3.   

    sendmessage(listbox1.handle,lb_sethorizontalextent,listbox1.width+30,0)
    滚动条的宽度可通过计算得出
      

  4.   

    楼主为什么不自己试试?unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, ImgList, ComCtrls;type
      TForm1 = class(TForm)
        ListView1: TListView;
        ImageList1: TImageList;
        procedure FormCreate(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
    begin
      ListView1.IconOptions.Arrangement:=iaLeft;
    end;end.够详细吧?真是服了你!
      

  5.   

    to  ehom:
    真不好意思,采用了您的方法,水平滚动条是出来了,可是垂直滚动条却没办法隐藏?我后来说的具体一点,其实是关于这部分代码。
      

  6.   

    垂直滚动条却没办法隐藏?一般是不会出现这种情况的,难道是ListView的Height值太小,连一行都无法显示?
      

  7.   

    to  ehom:
    thank you very much!