Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.11.18;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.009 c
1-59105
murzikN
2002-11-04 13:10
2002.11.18
ListBox с числом строк больше 32 К. Кто знает как сделать?


1-59174
Ag2002
2002-11-09 11:16
2002.11.18
Логика


1-59230
diww
2002-11-06 16:33
2002.11.18
как определить сетевое имя диска


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


14-59372
Anatoly Podgoretsky
2002-10-26 23:58
2002.11.18
Ура нас опять более 10000





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский