Вниз
Скачать: CL | DM;

переделать Combobox   Найти похожие ветки 

 
MetalFan ©   (2004-08-10 11:04) [0]

как сделать так, чтобы при определенном условии (например, если нажата какая-либо клавиша) текст в combobox"е при выборе определенного item"a не заменялся, а прибавлялся к уже ранее введенному/выбранному?

зарнее спасибо!


 
Ega23 ©   (2004-08-10 11:05) [1]

Ещё раз и более подробно, а то телепатией неохота заниматься.


 
MetalFan ©   (2004-08-10 11:21) [2]

1) есть TCombobox со стилем Style = csDropDown
2) работает так: при выборе какого либо итема св-во text у него принимает значение выбранного итема
3) нужно так: при определенном условии при выборе итема св-во text у него должно стать: <предыдущее значение> + <Выбранное значение>
понятно объяснил?
что-то немогоу дотукать, как это можно осуществить!


 
Ega23 ©   (2004-08-10 11:24) [3]

Теперь всё понятно. В OnDropDown обработчике сохраняй предыдущее значение.


 
MetalFan ©   (2004-08-10 11:26) [4]

сделал так:
procedure Tform1.ComboBox1DropDown(Sender: TObject);
begin
FLastComboText := ComboBox1.Text;
end;

procedure Tform1.ComboBox1CloseUp(Sender: TObject);
var
lState: Smallint;
begin
 lState := GetKeyState(VK_LCONTROL);
 lstate := lstate  shr 8;
 if (trim(FLastComboText) <> "") and (lState = -1) then
   ComboBox1.Text := FLastComboText + ";" + ComboBox1.Text;
 FLastComboText := "";
end;

не работает(


 
MetalFan ©   (2004-08-10 11:58) [5]

нет идей?


 
@Lex ©   (2004-08-10 12:36) [6]

может так подойдет

procedure Tform1.ComboBox1CloseUp(Sender: TObject);
var
 lState: Smallint;
begin
lState := GetKeyState(VK_LCONTROL);
lstate := lstate  shr 8;
if (trim(FLastComboText) <> "") and (lState = -1) then begin
  if Index > -1 then ComboBox1.Items.Delete(Index);
  Index := ComboBox1.Items.Add(FLastComboText + ";" + ComboBox1.Text);
  ComboBox1.ItemIndex := Index;
end
else
  if Index > -1 then begin
    ComboBox1.Items.Delete(Index);
    Index := -1;
  end;
FLastComboText := "";
end;


 
MetalFan ©   (2004-08-10 16:04) [7]

интересная мысль! сейчас попробую!
спасибо!



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.021 c
3-1090927751
Экспериментатор
2004-07-27 15:29
2004.08.22
Как правильно сортировать?


3-1090847343
MORA
2004-07-26 17:09
2004.08.22
2 лук-ап поля на одну таблицу


1-1092066291
Ivolg
2004-08-09 19:44
2004.08.22
MouseDown,MouseUp?


14-1090352717
saNat
2004-07-20 23:45
2004.08.22
Выбор DVD+/-CDRW


14-1091538875
Ziko
2004-08-03 17:14
2004.08.22
HTML, тэг <select>, изменение рамки комбобокса




   Наверх