Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

MultiSelect в ComboBox [D7, XP]


Sergey2 ©   (2010-04-28 13:52:00) 

подскажите как можно выбрать несколько значений из combobox ?
при повторном выборе из выпадающего списка значений - что бы оно прибавлялось через запятую к предыдущему.


oldman   (2010-04-28 21:03:00) [1]


> подскажите как можно выбрать несколько значений из combobox?


Весеннее обострение или что?
Блин. Просили, конечно, не хамить, но это выше крыши...

Combobox.ItemIndex:='1,3,5,9,14'
:(


{RASkov}   (2010-04-28 20:10:00) [2]

Попробуй вот такой вариант:
DFM:
object Form1: TForm1
 Left = 192
 Top = 114
 Width = 306
 Height = 188
 Caption = 'Form1'
 Color = clBtnFace
 Font.Charset = DEFAULT_CHARSET
 Font.Color = clWindowText
 Font.Height = -11
 Font.Name = 'MS Sans Serif'
 Font.Style = []
 OldCreateOrder = False
 PixelsPerInch = 96
 TextHeight = 13
 object SpeedButton1: TSpeedButton
   Left = 232
   Top = 8
   Width = 23
   Height = 22
   AllowAllUp = True
   GroupIndex = 1
   Caption = 'V'
   OnClick = SpeedButton1Click
 end
 object Edit1: TEdit
   Left = 8
   Top = 8
   Width = 221
   Height = 21
   TabOrder = 0
   Text = 'Edit1'
 end
 object ListBox1: TListBox
   Left = 8
   Top = 28
   Width = 221
   Height = 113
   ExtendedSelect = False
   ItemHeight = 13
   Items.Strings = (
     'item1'
     'item2'
     'item3'
     'item4'
     'item5'
     'item6'
     'item7')
   MultiSelect = True
   TabOrder = 1
   Visible = False
   OnClick = ListBox1Click
 end
end

PAS:
unit Unit1;
interface
uses
 Windows, Messages, SysUtils, Classes, Controls, Forms, StdCtrls, Buttons;

type
 TForm1 = class(TForm)
   Edit1: TEdit;
   ListBox1: TListBox;
   SpeedButton1: TSpeedButton;
   procedure SpeedButton1Click(Sender: TObject);
   procedure ListBox1Click(Sender: TObject);
 private { Private declarations }
 public  { Public declarations }
 end;

var Form1: TForm1;

implementation
{$R *.dfm}

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
 with TSpeedButton(Sender)do
  if Down then begin
   Caption:='^';
   ListBox1.Show;
  end else begin
   Caption:='V';
   ListBox1.Hide;
  end;
end;

procedure TForm1.ListBox1Click(Sender: TObject);
var N: Integer;
begin
 Edit1.Clear;
 for N:=0 to ListBox1.Count-1 do
  if ListBox1.Selected[N] then
   if Edit1.Text='' then Edit1.Text:=ListBox1.Items[N]
    else Edit1.Text:=Format('%s; %s', [Edit1.Text, ListBox1.Items[N]])
end;

end.


Игорь Шевченко   (2010-04-28 19:23:00) [3]


> подскажите как можно выбрать несколько значений из combobox
> ?


не использовать ComboBox


Sergey2   (2010-04-28 14:48:00) [4]

нет - label не красиво. 2 контрола вешать. задача зайти в выпадающий список комбобокса - перед этим сохранить текст комбобокса. и после выбора из списка значения - просто тексту присвоить что сохранено + то что сейчас выбрали


Lyonux   (2010-04-28 14:34:00) [5]

А если сделать:
ComboBox1.OnChange(Sender: TObject);
begin
Label1.Caption:=Label1.Caption+', '+ComboBox1.Text;
end;

,- вот что-то вроде этого не подойдёт?)
Или надо именно в комбобокс записывать сумму этих значений?


{RASkov}   (2010-04-28 14:16:00) [6]

> [0] Sergey2   (28.04.10 13:52)

Этот контрол не подходит для задачи.... если хочется легкого....


Наверх

Титульная страница Поиск, карта сайта Написать письмо