Форум: "Основная";
Текущий архив: 2005.03.20;
Скачать: [xml.tar.bz2];
ВнизКомпонент типа TComboBox Найти похожие ветки
← →
Shnabs (2005-03-01 20:28) [0]Можно как-нибудь в ComboBox"е, в стиле csSimple, сделать горизонтальный скроллбар?
← →
oslep (2005-03-01 20:59) [1]Строго говоря, можно. Для этого:
procedure TForm1.FormCreate(Sender: TObject);
var
ListHandle : HWnd;
begin
ComboBox1.HandleNeeded;
ListHandle := TComboBoxAccess(ComboBox1).ListHandle;
ShowScrollBar(ListHandle, SB_HORZ, True);
end;
Однако обрабатывать реакцию на передвижение ползунка придется ручками, в новой оконной процедуре для ListHandle
← →
Fenik (2005-03-01 20:59) [2]Возможно тебе поможет это:
http://delphibase.spb.ru/?action=viewfunc&topic=vclservice&id=10702
← →
oslep (2005-03-01 21:04) [3]Да, чуть не забыл, для доступа к защищенным полям и методам ,необходимо, ест-нно, объявление, если вы не в курсе:
type
TComboBoxAccess = class(TComboBox)
end;
← →
Shnabs (2005-03-01 21:15) [4]У меня есть кодик для Listbox"а, который создает горизонтальный скролл, если строка больше ширины объекта:
var i1, MaxWidth: integer;
begin
MaxWidth := 0;
for i1 := 0 to ListBox1.Items.Count-1 do
if MaxWidth < ListBox1.Canvas.TextWidth(ListBox1.Items.Strings[i1]) then
MaxWidth := ListBox1.Canvas.TextWidth(ListBox1.Items.Strings[i1]);
SendMessage(ListBox1.Handle, LB_SETHORIZONTALEXTENT, MaxWidth+8, 0);
end;
Пробовал для Combobox"а, что-то не выходит.
← →
Shnabs (2005-03-02 00:49) [5]Ну че так и нет идей по этому поводу? Спасибо Fenik, пригодилось, только там для ComboBox.Style = csDropDown or csDropDownList, а мне еще нужно для csSimple, а по поводу oslep, у меня знаний не хватает может что по проще есть?
← →
Fenik (2005-03-02 20:06) [6]> Shnabs
Что тебе мешает взять Edit + ListBox и написать пару обработчиков событий?
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.03.20;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.064 c