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

Еще один простой вопрос!!   Найти похожие ветки 

← →
Part   (2002-11-07 15:20) [0]

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


← →
Smirnoff ©   (2002-11-07 15:28) [1]

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;


← →
Геннадий ©   (2002-11-07 15:33) [2]

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


← →
mukha ©   (2002-11-07 16:07) [3]

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;


← →
Part   (2002-11-07 16:32) [4]

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


← →
NickBat ©   (2002-11-07 17:34) [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) [6]

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


← →
777 ©   (2002-11-07 17:38) [7]

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



← →
MsGuns ©   (2002-11-07 18:35) [8]

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


← →
Part   (2002-11-08 09:14) [9]

Спасибо :)


← →
Song ©   (2002-11-08 09:48) [10]

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



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

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



Память: 0.47 MB
Время: 0.012 c
1-59100
GOD
2002-11-08 03:06
2002.11.18
Закладки


1-59193
Мазут Береговой
2002-11-06 07:14
2002.11.18
как правильно открывать MS WORD в приложении Delphi, что бы он по


3-59017
ACampball
2002-10-28 15:32
2002.11.18
Восстановление подключения к IB в BDE


1-59186
123000
2002-11-09 14:06
2002.11.18
DLL & Graphics


3-59078
KDS
2002-10-29 17:11
2002.11.18
Firebird(IB) & Win XP




   Наверх