Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.06;
Скачать: CL | DM;

Вниз

Переход по Enter   Найти похожие ветки 

 
Explorer ©   (2003-01-23 08:41) [0]

Мастера!
Подскажите, как лучше сделать, Сабж, для элементов (Edit"s, ListBox) на форме?
Каждый раз обрабатывать нажатие Enter для всех элементов?


 
dolmat ©   (2003-01-23 09:37) [1]

В кладовке по моему что-то было

или если нет то www.qrsoft.com (если мне память не изменяет) там необходимо зарегистрироваться на их форум, а они на e-mail сбросят письмо с паролями free libraru и ссылочками.


 
dolmat ©   (2003-01-23 09:50) [2]

извиняюсь www.devexpress.com


 
Explorer ©   (2003-01-23 12:42) [3]

>dolmat ©

А как комнонента называется?


 
Explorer ©   (2003-01-24 07:34) [4]

А больше, никто, ничего посоветовать не может?


 
gek ©   (2003-01-24 07:51) [5]


procedure TForm.EDITKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
case key of
VK_UP: SelectNext(Sender as TWinControl, false, true);
VK_RETURN,VK_DOWN: SelectNext(Sender as TWinControl, true, true);
end;
end;


 
Explorer ©   (2003-01-28 08:42) [6]

>gek ©

Но это все же не по Enter переход.
Или я, что-то не понял?


 
gek ©   (2003-01-28 08:49) [7]

А как ты думаешь клавиша Enter обозначается?
Я понял вопрос так, что нужен переход на следующий элемент формы


 
Separator ©   (2003-01-28 08:53) [8]

Это как раз по Enter + Клавиши Up и Down


 
Explorer ©   (2003-01-28 08:54) [9]

Вопрос понял правильно..

Но дело в том, что по нажитию клавиши Enter на компоненте... переход не осуществляется! :(

Если нажимаю, клавиши ВВЕРХ или ВНИЗ то переход работает.


 
gek ©   (2003-01-28 09:02) [10]

var
MF: TCustomForm;
begin
case Key of
VK_RETURN: begin
MF := TForm(GetParentForm( Self ));
if not(MF = nil )then SendMessage(MF.Handle, WM_NEXTDLGCTL, 0, 0);
end;
end; { case }

Ну если и так не работает...


 
Explorer ©   (2003-01-28 09:07) [11]

Не хотит! :((
Пробовал пошаго пройти... но даже не срабатывает на Enter.
В чем еще может быть проблема?
Может дело в операционке (Win 2000 Advanced Server)? Хотя странно было бы...


 
makdi   (2003-01-28 09:20) [12]

у меня работает такой код:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=VK_Return then begin
form1.SelectNext(form1.ActiveControl as TWinControl, true, true);
Key:=VK_OEM_CLEAR;
end;
end;


 
Explorer ©   (2003-01-28 09:34) [13]

Не могу понять в чем дело! :(

>makdi
тоже не работает
меняю VK_Return на любой другой (VK_Down, VK_UP и даже на VK_SHIFT) все работает.


 
jtiger   (2003-01-28 09:48) [14]

TO Gek

а зачем:
MF := TForm(GetParentForm( Self ));
ведь:
SendMessage( Self.Handle, WM_NEXTDLGCTL, 0, 0);
прекрасно работает.


 
Explorer ©   (2003-01-28 10:12) [15]

Самое интересное, что программа ВООБЩЕ ни как не реагирует на нажатие Enter! Как будто она сделана на клаве для красоты...
На любую другую, она хоть заходит в процедуры и сравнивает... но не на Enter! :(
Хотя в других приложениях работает нормально.


 
makdi   (2003-01-28 10:13) [16]

А ты выставил у формы KeyPreview? Если нет, то понятно что оно работать не будет.


 
soware   (2003-01-28 10:14) [17]

1) А у тебя для формы установлен KeyPreview ???
2) Нет ли у тебя кнопки с Default=True ???


 
Explorer ©   (2003-01-28 10:28) [18]

>soware

да!!!!
Оказалось все дело в кнопке!
Спасибки!


 
Leonid_A   (2003-01-28 10:45) [19]

Для CBuilder:
1)Выставляешь Form->KeyPreview = true;

2)Пишешь обработчик события FormKeyUp формы. Например:

void __fastcall TBankAccountEdtFrm::FormKeyUp(TObject *Sender, WORD &Key,
TShiftState Shift)
{
if (Shift.Contains(ssCtrl))
{
switch (Key)
{
case VK_RETURN:
Key = NULL;
BitBtnOK->Click();
break;
}
}
else
{
if (Key == VK_RETURN &&
BitBtnOK->Focused() == false &&
BitBtnCancel->Focused() == false &&
BitBtn3->Focused() == false &&
RxDBLookupCombo1->IsDropDown == false &&
RxDBLookupCombo2->IsDropDown == false &&
RxDBLookupCombo3->IsDropDown == false
)
{
Key = NULL;
Perform(WM_NEXTDLGCTL,0,0);
}
}
}


 
Orlan Master   (2003-01-28 13:13) [20]

Нижеприведенный пример описан у Марко Кэнту в "Delphi 4"
Вешается обработчик на контрол на свойство OnKeyPress.
Далее:

procedure TfrmCheck.OnKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
Key := #0;
Perform(CM_DialogKey,VK_Tab,0);
end;
end;



 
dolmat ©   (2003-01-29 12:09) [21]

извиняюсь за задержку.
Тат целая библиотека под названием EForumLib у меня только под D5



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

Текущий архив: 2003.02.06;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.013 c
1-15644
Бук
2003-01-27 09:47
2003.02.06
Caps и Insert со товарищи


1-15671
x02x
2003-01-29 20:01
2003.02.06
Люди, подскажите как можно сделать кнопку, другой формы(например.


1-15553
jen_bond
2003-01-28 00:35
2003.02.06
файл с расширнием .SHP


3-15517
Наташа
2003-01-20 18:04
2003.02.06
первичный ключ


1-15606
Dmitry Filippov
2003-01-29 10:59
2003.02.06
Как получить варианты размеров шрифта