Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.17;
Скачать: CL | DM;

Вниз

Переадресация сообщения   Найти похожие ветки 

 
rel_   (2004-02-05 15:48) [0]

Мастера, просветите, как разрешить следующую ситуацию:

есть 2 контрола, например TreeList и Edit - необходимо, чтобы всегда (независимо от того, на чём находится фокус),
1)если пользователь нажимает клавиши Up, Down - они обрабатывалиь только TreeList-ом - и на него передавался фокус
2)если пользователь нажимет любые другие клавиши - они обрабатывалиь только Edit-ом - и на него передавался фокус

Задачу можно усложнить, если учесть что на форме присутствует множество разных контролов - фокус может быть на любой из них. Но сообщение Up, Down должны всегда пересылаться (например) контролу1, а все остальные сообщения от клавиатуры - контролу2.


 
rel_   (2004-02-05 16:28) [1]

Народ, ну хоть кто-нибудь !!! :)


 
Sandman25 ©   (2004-02-05 16:30) [2]

Form.KeyPreview = true
Form.OnKeyDown


 
rel_   (2004-02-05 16:39) [3]

Ну с этого я и начал но:

как теперь сфокусировать Edit и переслать ему код клавиши, если он не имеет фокус

код:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
Edit1.SetFocus;
SendMessage( Edit1.Handle, WM_KeyDown, Key, 0);
end;

не хочет работать


 
Sandman25 ©   (2004-02-05 16:50) [4]

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if activecontrol <> edit2 then
begin
edit2.setfocus;
edit2.Perform(wm_char, ord(key), 0);
end;
end;

Так подойдет?


 
real_dimedrol   (2004-02-05 16:54) [5]

У меня все работает. Тока нужно, пожалуй, сделать так:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Form1.ActiveControl = Edit1 then exit;
Edit1.SetFocus;
Edit1.SelStart := length(Edit1.Text);
SendMessage(Edit1.Handle, WM_KeyDown, Key, 0);
end;


 
rel_   (2004-02-05 17:21) [6]

Спасибо, ща попробую !!!



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

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

Наверх




Память: 0.47 MB
Время: 0.022 c
14-53752
dachnick[bio cross]
2004-01-28 00:32
2004.02.17
Срочно нужен программист!!! Пишите!!!


3-53392
Alex-kosmonavt
2004-01-27 10:59
2004.02.17
Покрасить строчку в DBGrid


14-53761
тихий вовочка
2004-01-27 08:52
2004.02.17
пресса


14-53741
Серый
2004-01-27 10:31
2004.02.17
Что из виндовых библиотек нужно по минимуму для работы визуально


6-53675
man-1982
2003-12-07 14:57
2004.02.17
Помогите начинающему с web програмитрованием