![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Еще один простой вопрос!!
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;