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

Вниз

ListBox   Найти похожие ветки 

 
Alex Slater   (2003-03-11 12:14) [0]

Господа Мастера , подскажите как сделать в ListBox"e горизонтальный скроллинг .

SendMessage (ListBox.Handle, LB_SETHORIZONTALEXTENT, Размер_для_самой длинной строки, 0) не помогает .

Может быть проблема в этом : сообщение относится только к блокам списка, созданным со стилем ws_HScroll . Если да , то как установить этот стиль .


 
Игорь Шевченко ©   (2003-03-11 13:01) [1]

procedure TfMain.FormCreate(Sender: TObject);
var
I : Integer;
DC : HDC;
MaxWidth : Integer;
StringSize : SIZE;
OldFont : HFONT;
begin
DC := GetDC(0);
try
OldFont := SelectObject(DC, ListBox1.Font.Handle);
try
MaxWidth := -1;
for I:=0 to Pred(ListBox1.Items.Count) do begin
if not GetTextExtentPoint32(DC, PChar(ListBox1.Items[I]),
Length(ListBox1.Items[I]), StringSize) then
RaiseLastWin32Error();
if StringSize.cx > MaxWidth then
MaxWidth := StringSize.cx;
end;
finally
SelectObject(DC, OldFont);
end;
finally
ReleaseDC(0, DC);
end;
SendMessage(ListBox1.Handle, LB_SETHORIZONTALEXTENT, MaxWidth, 0);
end;


И ничего не надо делать дополнительно со стилями



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

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

Наверх




Память: 0.46 MB
Время: 0.012 c
4-76716
Василий2
2002-12-13 11:49
2003.03.24
runas.exe - ОШИБКА!


3-76323
sergey32
2003-03-05 15:01
2003.03.24
Не могу передать числовой параметр в хранимую процедуру.


14-76581
Alex-21
2003-02-26 18:48
2003.03.24
Как заменить в ListBoxe имя?


14-76610
TGrigory
2003-03-06 13:08
2003.03.24
А реально программисту дожить до пенсии?


7-76702
Vlad_503
2003-01-30 21:20
2003.03.24
Работа со сканером