![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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)
Этот контрол не подходит для задачи.... если хочется легкого....