Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.10.2009, 22:27   #1
grater83
Пользователь
 
Регистрация: 09.09.2009
Сообщений: 31
По умолчанию scrollbar

подскажитекак убрать горизонтальный scrollbar в listview
нашел ккак делать ,но чего то не убирает .может не так делаю
Код:
type     TNoHScrollListview = Class( TListview )
private
    Procedure WMNCCalcSize( Var msg: TMessage ); message WM_NCCALCSIZE;
procedure TNoHScrollListview.WMNCCalcSize(var msg: TMessage);
var
  style: Integer;
begin
  style := getWindowLong( handle, GWL_STYLE );
  If (style and WS_HSCROLL) <> 0 Then
    SetWindowLong( handle, GWL_STYLE, style and not WS_HSCROLL );
  inherited;
end;

Последний раз редактировалось Stilet; 08.10.2009 в 08:09. Причина: добавление
grater83 вне форума Ответить с цитированием
Старый 08.10.2009, 05:08   #2
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Типа этого :
Код:
type
   TForm1 = class(TForm)
     ListView1: TListView;
     procedure FormCreate(Sender: TObject);
     procedure FormDestroy(Sender: TObject);
   private
     FListViewWndProc: TWndMethod;
     procedure ListViewWndProc(var Msg: TMessage);
   public
    { Private declarations }
     FShowHoriz: Boolean;
     FShowVert: Boolean;
   end;

    var
   Form1: TForm1;

 implementation

 {$R *.dfm}

 procedure TForm1.ListViewWndProc(var Msg: TMessage);
 begin
   ShowScrollBar(ListView1.Handle, SB_HORZ, FShowHoriz);
   ShowScrollBar(ListView1.Handle, SB_VERT, FShowVert);
   FListViewWndProc(Msg);  
end;

 procedure TForm1.FormCreate(Sender: TObject);
 begin
   FShowHoriz := True; // показать горизонтальный скролбар 
  FShowVert := False; // скрыть вертикальный скролбар
  FListViewWndProc := ListView1.WindowProc; 
  ListView1.WindowProc := ListViewWndProc;  
end;

 procedure TForm1.FormDestroy(Sender: TObject);
 begin
   ListView1.WindowProc := FListViewWndProc; 
  FListViewWndProc := nil;
 end;
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 08.10.2009, 12:00   #3
grater83
Пользователь
 
Регистрация: 09.09.2009
Сообщений: 31
По умолчанию

спасибо работает
grater83 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
listbox и scrollbar blackstersl Общие вопросы Delphi 3 08.01.2010 17:48
ScrollBar на Memo SL1CK Общие вопросы Delphi 3 28.08.2009 22:09
ScrollBar Rebel123 Общие вопросы Delphi 2 19.07.2009 11:35
scrollbar street-walker Общие вопросы Delphi 4 29.04.2009 23:45
Проблема со ScrollBar-ом. G&R Общие вопросы Delphi 5 14.12.2008 16:11