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

Вниз

Расширенный компонент ComboBox   Найти похожие ветки 

 
victor_ch   (2003-09-14 08:52) [0]

Добрый день всем!!!
Мне нужно решить следующую задачу, чтобы выпадающий список состоял из двух колонок, т.е например
1 |Аэоропорт
2 |Вокзал
3 |Метро
но при выборе какого либо пункта, в текстовом поле оставалось только значение первой колонки, можно ли несложным способом добиться такого поведения от стандартного ComboBox, или есть уже готовый (бесплатный) компонент с такой возможностью. Я уже видел в одной программе такой выпадающий список (такие же списки используются в MS Access для полей подстановки), но сам реализовать не могу


 
MBo   (2003-09-14 08:57) [1]

У TStrings (Comb.Items) есть свойство Objects - вот там храни указатель на соотв. строку второй колонки и в OnDrawItem дописывай её. Можно и не хранить, а брать из другого списка согласно номеру Item-а


 
victor_ch   (2003-09-14 09:15) [2]

а немного поподробнее, можно
а то что то у меня не получается


 
Думкин   (2003-09-14 09:17) [3]


> [2] victor_ch (14.09.03 09:15)

Ключевая фраза - OnDrawItem


 
victor_ch   (2003-09-14 09:40) [4]

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


 
MBo   (2003-09-14 09:50) [5]

SList: TStringList;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
var i:Integer;
begin
SList:=TStringList.Create;
for i:=0 to 3 do begin
combobox1.Items.Add(Inttostr(i));
SList.Add(StringOfChar(Chr(i+Ord("A")),5));
end;
end;

procedure TForm1.ComboBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
begin
ComboBox1.Canvas.FillRect(Rect);
ComboBox1.Canvas.TextOut(Rect.Left+2,Rect.Top+2,ComboBox1.Items[Index]);
if not (odComboBoxEdit in State) then
ComboBox1.Canvas.TextOut(Rect.Left+50,Rect.Top+2,SList[Index]);
end;


 
victor_ch   (2003-09-14 09:55) [6]

спасибо большое за помощь
теперь все понятно



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

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

Наверх





Память: 0.45 MB
Время: 0.011 c
14-82505
Jacob
2003-09-04 20:54
2003.09.25
Unix mailbox


3-82162
Hooch
2003-09-03 12:22
2003.09.25
был ли модифицирован DataSet ?


3-82029
AlexPul
2003-09-05 19:43
2003.09.25
Не могу подключиться к базе данных Interbase


1-82315
xmrz
2003-09-11 15:30
2003.09.25
Автозаполнение web форм из базы данных


14-82403
Karnegi
2003-09-04 12:26
2003.09.25
Помогите с филтрацией по двум критериям





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский