Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.18;
Скачать: 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 вся ветка

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

Наверх




Память: 0.48 MB
Время: 0.021 c
14-59417
maxim2
2002-10-25 08:47
2002.11.18
Непорали сделать форум по Kylix ?


1-59189
123000
2002-11-09 14:08
2002.11.18
How to do as ICQ


14-59382
SpiritS
2002-10-25 20:49
2002.11.18
Создание отчета в MSWord 97


1-59113
_acme
2002-11-08 07:26
2002.11.18
Как можно на форме разместить текстуру. (На подобии Opera 6)


1-59146
pheonix_ash
2002-11-06 22:59
2002.11.18
Как компилировать проект так чтобы ЕХЕ потом *. BPL не просил