Главная страница
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.047 c
4-1117274384
Петр
2005-05-28 13:59
2005.07.25
Работа с колесиком мыши


1-1120755837
Kolan
2005-07-07 21:03
2005.07.25
Текст на кнопках TToolBar справа от картинок. Как?


1-1120587813
SpyBoy
2005-07-05 22:23
2005.07.25
как программно нажать клавишу?


1-1120728956
Aleksandr.
2005-07-07 13:35
2005.07.25
Объясните мне, на что заменять AssignStr, NewStr, DisposeStr?


14-1119841484
Skier
2005-06-27 07:04
2005.07.25
В Крым на машине...