![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ComboBox ;помогите плиз!!!
Part © (2002-11-21 10:09:00)Мастера, я снова нужна Ваша помощь!! Как открывать combobox при нажатии Enter ?
Part (2002-11-21 15:47:00) [1]спасибо выручили :)
Song (2002-11-21 15:33:00) [2]Вот вставь этот обработчик, всё будет работать:
procedure TForm1.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
IF Key=#13 then Key:=#0;
end;
Song (2002-11-21 15:33:00) [3]Ты всё ещё не сделал это открытие?
Lord Warlock (2002-11-21 15:27:00) [4]Вот тебе кусок примера:
var
Form1: TForm1;
Flag: Boolean=False;
implementation
{$R *.DFM}
procedure TForm1.ComboBox1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key=VK_RETURN) then
if (not Flag) then
begin
ComboBox1.DroppedDown:=True;
Flag:=not Flag;
end
else
begin
ComboBox1.DroppedDown:=False;
Flag:=not Flag;
end;
end;
procedure TForm1.ComboBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Flag) and (Key=VK_RETURN) then
ComboBox1.DroppedDown:=False;
end;
Part (2002-11-21 15:24:00) [5]procedure TForm1.ComboBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (key = vk_shift) or (key = vk_return) then
ComboBox1.Perform(CB_SHOWDROPDOWN,Integer(True),0);
end;
вот в таком варианте shift открывает, а ентер не хочет. Никто не подскажет в чем тут фишка ?
Part (2002-11-21 14:57:00) [6]открывать то я его открываю (если на кнопку вешаю ComboBox1.Perform(CB_SHOWDROPDOWN,Integer(True),0);
), а вот чтобы лист окрывался не alt+стрелка вниз, а Enterom не могу. Я понимаю что всем надоел, но мне ну ооочень нужно!!!
Игорь Шевченко (2002-11-21 13:11:00) [7]AndrewVolkov (21.11.02 13:06)
win32.hlp ComboBox messages
Song (2002-11-21 13:08:00) [8]Из хэлпа (я тоже кстати знаю :-) )
AndrewVolkov (2002-11-21 13:06:00) [9]to Игорь Шевченко
to Part
а откуда вы знаете про Perform( CB_SHOWDROPDOWN,Integer(True),0);
где такое описывается???
Игорь Шевченко (2002-11-21 12:44:00) [10]wParam
Specifies whether the drop-down list box is to be shown or hidden. A value of TRUE shows the list box; a value of FALSE hides it.
Вот ты его и прячешь :-)
ComboBox1.Perform(CB_SHOWDROPDOWN,Integer(True),0);
Song (2002-11-21 12:42:00) [11]Я тебе уже подсобил. Мой пример у меня работает (только что проверил - вынудили Вы меня)
Part (2002-11-21 12:30:00) [12]procedure TForm1.ComboBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = vk_return then
ComboBox1.Perform(CB_SHOWDROPDOWN,Integer(False),0);
end;
так тоже не работает. Народ, подсобите кто чем может :) плиииз
Игорь Шевченко (2002-11-21 11:45:00) [13]DBLookupComboBox не имеет никакого отношения к ComboBox
RTFS: dbctrls.pas
Part (2002-11-21 11:43:00) [14]procedure TForm_R.MyKeyDown2(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
ii: integer;
begin
if key = vk_return then
DBLookupComboBox4.Perform(CB_SHOWDROPDOWN,Integer(True),0);
end; я пытаюсь так но не работает ??
Song (2002-11-21 10:55:00) [15]ComboBox1.Perform(CB_SHOWDROPDOWN,Integer(True),0);
Part (2002-11-21 10:40:00) [16]2 song
прости ламера :) а как этим пользоваться ? если можно небольшой пример
Song (2002-11-21 10:35:00) [17]CB_SHOWDROPDOWN
Smithson (2002-11-21 10:14:00) [18]Combobox1.DroppedDown := True // Открыть
Вставть в обработчик клавиатуры