Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

если главная форма не в фокусе...


altatr ©   (2007-11-29 10:33:00) 

Всем привет.
Такой простой наверное вопрос
Имеется простейшая прога с пуcтой формой и обработкой события OnKeyPress

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
Form1.Caption := key;
end;

Нажимаем кнопки на клаве и в заголовке формы видны нажатые символы
А вот как сделать чтобы символы менялись если я например работаю не с главной формой а с любой другой программой а форма убрана куданибудь в сторону?


altatr   (2007-11-30 16:19:00) [1]

вариант с таймером то что надо! спасибо.


Dennis I. Komarov   (2007-11-29 13:57:00) [2]

За кем шпионим? Зачем велосипеды?


{RASkov}   (2007-11-29 13:48:00) [3]

В твоем случае нужно хук использовать, но с учетом "начинающих" попробуй так:
procedure TForm1.Timer1Timer(Sender: TObject);
var N: Byte;
begin
 Caption:='';
 for N:=0 to 255 do
  if GetAsyncKeyState(N)<>0 then begin
   Caption:=IntToStr(N)+' - '+CHR(N);
   Break;
  end;
end;

Ну и само собой в данном случае, ты будешь "ловить" состояние клавиши а не символ, ...и мышь тоже "ловиться"


Sonia   (2007-11-29 12:50:00) [4]

написать в другой программе обработчик, который будет делать Form1.Caption := key;


Наверх

Титульная страница Поиск, карта сайта Написать письмо