Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.03.04;
Скачать: [xml.tar.bz2];

Вниз

ПРОСТО ! Быстрый, тупой, вопрос !   Найти похожие ветки 

 
IronHawk   (2002-02-12 15:37) [0]

Как в ListBox убрать вертикальные скролы ???


 
Johnmen   (2002-02-12 16:42) [1]

Если подождешь до завтра, то отвечу, раз никто не хочет.


 
IronHawk   (2002-02-12 17:59) [2]

НУ подожду !
ВСЁРАВНО ЗНАТЬ НАДО !
Буду ждать !


 
Cobalt   (2002-02-12 18:06) [3]

Попробуй посмотреть свойства ( все )


 
IronHawk   (2002-02-12 18:28) [4]

НЕКАТИТ !


 
Dimk   (2002-02-13 02:15) [5]

Это процедура которая готовит разные параметры перед созданием
собственно окна листбокса. К сожалению ( я выделил см ниже) в стиль всегда добавляются WS_HSCROLL or WS_VSCROLL. Из за этого то всегда есть скроллбары. Можно конечно создать свой компонент
который будет отличаться от оригинального всего одним свойством которое позволит включать или не включать скроллбары- то есть
if ВключатьСкроллбары then Style := Style or WS_HSCROLL or WS_VSCROLL; И вся вселенная у твоих ног!

procedure TCustomListBox.CreateParams(var Params: TCreateParams);
type
PSelects = ^TSelects;
TSelects = array[Boolean] of DWORD;
const
Styles: array[TListBoxStyle] of DWORD =
(0, LBS_OWNERDRAWFIXED, LBS_OWNERDRAWVARIABLE, LBS_OWNERDRAWFIXED,
LBS_OWNERDRAWFIXED);
Sorteds: array[Boolean] of DWORD = (0, LBS_SORT);
MultiSelects: array[Boolean] of DWORD = (0, LBS_MULTIPLESEL);
ExtendSelects: array[Boolean] of DWORD = (0, LBS_EXTENDEDSEL);
IntegralHeights: array[Boolean] of DWORD = (LBS_NOINTEGRALHEIGHT, 0);
MultiColumns: array[Boolean] of DWORD = (0, LBS_MULTICOLUMN);
TabStops: array[Boolean] of DWORD = (0, LBS_USETABSTOPS);
CSHREDRAW: array[Boolean] of DWORD = (CS_HREDRAW, 0);
Data: array[Boolean] of DWORD = (LBS_HASSTRINGS, LBS_NODATA);
var
Selects: PSelects;
begin
inherited CreateParams(Params);
CreateSubClass(Params, "LISTBOX");
with Params do
begin
Selects := @MultiSelects;
if FExtendedSelect then Selects := @ExtendSelects;
Style := Style or ( WS_HSCROLL or WS_VSCROLL or
Data[Self.Style in [lbVirtual, lbVirtualOwnerDraw]] or
LBS_NOTIFY) or Styles[FStyle] or Sorteds[FSorted] or
Selects^[FMultiSelect] or IntegralHeights[FIntegralHeight] or
MultiColumns[FColumns <> 0] or BorderStyles[FBorderStyle] or
TabStops[FTabWidth <> 0];
if NewStyleControls and Ctl3D and (FBorderStyle = bsSingle) then
begin
Style := Style and not WS_BORDER;
ExStyle := ExStyle or WS_EX_CLIENTEDGE;
end;
WindowClass.style := WindowClass.style and not (CSHREDRAW[UseRightToLeftAlignment] or CS_VREDRAW);
end;
end;


 
Alx2   (2002-02-13 08:11) [6]

>IronHawk © (12.02.02 15:37)
>Как в ListBox убрать вертикальные скролы ???

ShowScrollBar(ListBox1.Handle,sb_both,false);


 
IronHawk   (2002-02-13 10:44) [7]

... СПАСИБО ВСЕМ !
>>> Alx2 ©
Вот это само оно !


Есть ещё вопрос !
У меня на форме 20-ть ListBox-ов
Как мне одной строкой (без обьявления это го свойства каждому)
обьеденить их, и присвоить им это свойство ???

... заранее благодарен !


 
Alx2   (2002-02-13 11:06) [8]


procedure TForm1.Button1Click(Sender: TObject);
Var k : integer;
begin
for k := 0 to ComponentCount-1 do
if Components[k] is TListBox then
with Components[k] as TListBox do
ShowScrollBar(Handle,sb_both,false);
end;




 
IronHawk   (2002-02-13 12:41) [9]

>>> Alx2 ©
СПАСИБО !!!! ОГРОМНОЕ !


 
IronHawk   (2002-02-14 12:33) [10]

>>> Alx2 ©

НАШЕЛСЯ ТРАБЛ !

> procedure TForm1.Button1Click(Sender: TObject);
> Var k : integer;
> begin
> for k := 0 to ComponentCount-1 do
> if Components[k] is TListBox then
> with Components[k] as TListBox do
> ShowScrollBar(Handle,sb_both,false);
> end;


При обновлении или смене Item-а
СКРОЛЫ опять появляються !!!
как их убить с концами ???



 
Alx2   (2002-02-14 12:50) [11]

Посмотри SetWindowLong. Копать там, кажется, надо.


 
MBo   (2002-02-14 13:49) [12]

type tLboxnoscroll=class(tcustomlistbox)
procedure CreateParams(var Params: TCreateParams);override;
end;
procedure tLboxnoscroll.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
Params.Style := params.Style and (not WS_VSCROLL)
end;
или, как Alx2 сказал, через SetWindowLong


 
IronHawk   (2002-02-14 17:30) [13]

>>> Alx2 ©

Спасибо !

>>> MBo ©

Тоже вариат токо он чёт глюкавит,
узнаю почему скажу !



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

Форум: "Основная";
Текущий архив: 2002.03.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.006 c
1-9162
foks
2002-02-02 11:19
2002.03.04
У меня не работает Delphi 5.0 из под Windows XP


1-9232
forrest1
2002-02-15 17:26
2002.03.04
Как выделить одну строку в DBGrid для SelectedRows


1-9127
grab
2002-02-16 21:21
2002.03.04
заполнение ListBox


1-9153
Deus
2002-02-13 13:55
2002.03.04
Сохранение array в FileStream


1-9137
LLL
2002-02-16 20:04
2002.03.04
Рамка для компонента





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский