Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.25;
Скачать: CL | DM;

Вниз

Как сделать, чтобы в ListBox не отображались линейки прокрутки   Найти похожие ветки 

 
dedelta   (2005-06-30 18:56) [0]

Как сделать, чтобы в ListBox не отображались линейки прокрутки


 
Просто Джо ©   (2005-06-30 19:25) [1]

Ну, честно говоря, кроме
 
ShowScrollBar(
   ListBox1.Handle,
   SB_BOTH,
   False
 );

ничего в голову не приходит. Эта функция убирает скролл-бары до следующего их обновления, затем они снова появятся. Попробуй повесить этот код на несколько событий TListBox"а - и выбери оптимальный. Криво, но что поделать. Или все-так и придется писать своего наследника от TListBox"a и переопределить поведение в нескольких методах.


 
begin...end ©   (2005-06-30 20:51) [2]

Перекрыть CreateParams, в котором сбросить стили WS_HSCROLL и WS_VSCROLL, и радоваться жизни.


 
dedelta   (2005-07-03 16:04) [3]

А поподробнее можно. Интересует, что значит перекрыть.


 
begin...end ©   (2005-07-03 19:51) [4]

> dedelta   (03.07.05 16:04) [3]

Создать потомка и заменить реализацию метода CreateParams своей.

type
 TMyListBox = class(TCustomListBox)
   protected
     procedure CreateParams(var Params: TCreateParams); override;
 end;

{ TMyListBox }

procedure TMyListBox.CreateParams(var Params: TCreateParams);
begin
 inherited;
 Params.Style := Params.Style and not (WS_HSCROLL or WS_VSCROLL)
end


После этого можно либо динамически создавать экземпляры этого класса, либо зарегистрировать этот компонент в палитре.

Пример с динамическим созданием, позволяющий увидеть, что полосы прокрутки не появляются:

procedure TForm1.FormCreate(Sender: TObject);
var
 I: Char;
begin
 with TMyListBox.Create(Self) do
 begin
   Parent := Self;
   for I := "A" to "Z" do
     Items.Add(StringOfChar(I, 50))
 end;
end.


 
dedelta ©   (2005-07-06 10:05) [5]

Спасибо. Всё ОК.



Страницы: 1 вся ветка

Текущий архив: 2005.07.25;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.048 c
1-1120113261
intaari
2005-06-30 10:34
2005.07.25
внесение изменений в memo готового отчет, fastreport 3.0


14-1120124105
stone
2005-06-30 13:35
2005.07.25
Hello, World. На разных языках


14-1117805628
12DFBDDh
2005-06-03 17:33
2005.07.25
Соревнование!!!!


3-1118818906
salexn
2005-06-15 11:01
2005.07.25
Oracle и работа с датами


8-1111614162
Lex123
2005-03-24 00:42
2005.07.25
winamp