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

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

Еще один простой вопрос!!


Part ©   (2002-11-07 15:20:00) 

Подскажите пожалуйста, как поменять кнопку перехода с одного Edit на другой. Например, чтобы переход осуществлялся кнопками курсора , а не табуляцией ? Спасибо


Song   (2002-11-08 09:48:00) [1]

WM_NEXTDLGCTL
Если будете обрабывать onKeyDown формы не забудьте выставить TForm.KeyPreeview


Part   (2002-11-08 09:14:00) [2]

Спасибо :)


MsGuns   (2002-11-07 18:35:00) [3]

Только не трогай фишки Left,Right,End,Home,Enter - иначе юудет затруднительно редактирование внутри строки (только мышью)


777   (2002-11-07 17:38:00) [4]

procedure TForm1.MyKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 //enter then SelectNext((sender as TWinControl),true,true)
end;


NickBat   (2002-11-07 17:34:00) [5]

procedure TForm1.MyKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
ii: integer;
begin
if Key=vk_up then
for ii:=0 to Form1.ControlCount-1 do
begin
if (Form1.Controls[ii] is TEdit) then
if (Form1.Controls[ii] as TEdit).TabOrder=(Sender as TEdit).TabOrder+1
then
begin
(Form1.Controls[ii] as TEdit).SetFocus;
break;
end;
end;
end;


Геннадий   (2002-11-07 17:34:00) [6]

Значит ищи все Edit и проверяй, какой из них тебе нужен (по-моему есть свойство TabOrder) - вот так.


Part   (2002-11-07 16:32:00) [7]

Спасибо. А если Edit - ов много как переходить на следующий или предыдущий по Tab Order - у ?


mukha   (2002-11-07 16:07:00) [8]

procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=Vk_Down then // Курсор вниз
ActiveControl:=Edit2;
end;

procedure TForm1.Edit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=Vk_Up then
ActiveControl:=Edit1; // Курсор вверх
end;


Геннадий   (2002-11-07 15:33:00) [9]

Тогда тебе нужно в обработчике OnKeyDown проверять нажатие этой клавиши и делать примерно так Edit2.SetFocus; или TForm1.ActiveComponent:= Edit2; точно не помню. Ещё нужно будет создать массив, в котором ты будешь хранить список перехода и изменять активный элемент с его помощью.


Smirnoff   (2002-11-07 15:28:00) [10]

procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = VK_DOWN then Edit2.SetFocus;
end;

procedure TForm1.Edit2KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = VK_UP then Edit1.SetFocus;
end;


Наверх

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