我不要它在任何情况下出现水平滚动条,想把它去掉,请问如何去掉

解决方案 »

  1.   

    sendmessage(ListBox.Handle, LB_SetHorizontalExtent, PixelWidth , 0);
      

  2.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      lpsi: TScrollInfo;
    begin
      lpSi.cbSize := SizeOf(lpsi);
      lpsi.fMask := SIF_RANGE;
      SetScrollInfo(ListView1.Handle, SB_VERT, lpsi, True);
    end;
      

  3.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      Style: Integer;
    begin
      Style := GetWindowLong(ListView1.Handle, GWL_STYLE);
      if (GWL_STYLE and WS_VScroll) > 0 then
        ShowMessage('OK');
      SetWindowLong(ListView1.Handle, GWL_STYLE, Style and not WS_VScroll);
    end;那个强淫帮解释一下为什么用SetWindowLong不去滚动条呢, ShowMessage可以执行的到
      

  4.   

    这个东西的滚动条倒是没什么,我觉得DBGrid和Memo这两个控件的滚动条有点问题,不管其内容是否需要有滚动条(垂直的),它都会显示出来,很不好啊.哪位改进改进啊.
      

  5.   

    The SetScrollInfo function sets the parameters of a scroll bar, including the minimum and maximum scrolling positions, the page size, and the position of the scroll box (thumb). The function also redraws the scroll bar, if requested.int SetScrollInfo(    HWND hwnd, // handle of window with scroll bar
        int fnBar, // scroll bar flag
        LPSCROLLINFO lpsi, // pointer to structure with scroll parameters
        BOOL fRedraw // redraw flag
       );
     ParametershwndIdentifies a scroll bar control or a window with a standard scroll bar, depending on the value of the fnBar parameter.fnBarSpecifies the type of scroll bar for which to set parameters. This parameter can be one of the following values:Value Meaning
    SB_CTL Sets the parameters of a scroll bar control. The hwnd parameter must be the handle of the scroll bar control. 
    SB_HORZ Sets the parameters of the given window's standard horizontal scroll bar. 
    SB_VERT Sets the parameters of the given window's standard vertical scroll bar. 
     lpsiPoints to a SCROLLINFO structure whose fMask member, upon entry to the function, specifies the scroll bar parameters to set.
    The fMask member can be a combination of the following values:Value Meaning
    SIF_DISABLENOSCROLL Disables the scroll bar instead of removing it, if the scroll bar's new parameters make the scroll bar unnecessary.
    SIF_PAGE Sets the scroll page to the value specified in the nPage member of the SCROLLINFO structure pointed to by lpsi.
    SIF_POS Sets the scroll position to the value specified in the nPos member of the SCROLLINFO structure pointed to by lpsi.
    SIF_RANGE Sets the scroll range to the value specified in the nMin and nMax members of the SCROLLINFO structure pointed to by lpsi.
     fRedrawSpecifies whether the scroll bar is redrawn to reflect the changes to the scroll bar. If this parameter is TRUE, the scroll bar is redrawn, otherwise, it is not redrawn. Return ValuesThe return value is the current position of the scroll box. ResThe SetScrollInfo function performs range checking on the values specified by the nPage and nPos members of the SCROLLINFO structure. The nPage member must specify a value from 0 to nMax - nMin +1. The nPos member must specify a value between nMin and nMax - max(nPage  - 1, 0). If either value is beyond its range, the function sets it to a value that is just within the range. See AlsoGetScrollInfo, SCROLLINFO
      

  6.   

    貌似没人答对,我来说吧ShowScrollBar(ListView1.Handle, SB_HORZ, False);
      

  7.   

    达人来了。老冯在此。TFrmVirtualListView = class(TForm)
        ListView: TListView;
        procedure ListViewData(Sender: TObject; Item: TListItem);
        procedure FormCreate(Sender: TObject);
        procedure FormDestroy(Sender: TObject);
      private
        FListViewWndProc: TWndMethod;
        procedure ListViewWndProc(var Msg: TMessage);
      public
        FShowHoriz: Boolean;
        FShowVert: Boolean;
      end;......  procedure TFrmVirtualListView.FormCreate(Sender: TObject);
      begin
        ......
        FShowHoriz := False;
        FShowVert := False;
        FListViewWndProc := ListView.WindowProc;
        ListView.WindowProc := ListViewWndProc;
        ......
      end;  procedure TFrmVirtualListView.ListViewWndProc(var Msg: TMessage);
      begin
      ShowScrollBar(ListView.Handle, SB_HORZ, FShowHoriz);
      ShowScrollBar(ListView.Handle, SB_VERT, FShowVert);
      FListViewWndProc(Msg);
      end;......
      

  8.   

    ShowScrollBar(Lv1.Handle, SB_HORZ, False);