Логин: Пароль:    Регистрация Всеми возможностями сайта можно пользоваться
только после авторизации.
   Забыли пароль?

Поиск
L



Статистика
u
Пользователи онлайн: нет
Гостей онлайн: 6
Всего онлайн: 6
Зарегистрировано юзеров: 6507
Комментариев на сайте: 647
Новый юзер: EllasDral



Последние комментарии
c
Cmertb06 прокомментировал "Урок 1 - Инициализация OpenGL":
Возможно ли рисовать на экране? Например у Screen.Monitors[0] есть свойство Handle?
Aqel прокомментировал "Урок 71 - Работа с сжатыми файлами":
uses ...sevenzip, ... function ProgressCallback(sender: Pointer; total: boolean; value: int64): HRESULT; stdcall; begin if total then Form1.sprgrsbr1.Max:= value else Form1.sprgrsbr1.Position:= value; Result:= S_OK; end; function Decompress(FileName, DestDir, ArcFname: String; ArcDir: Boolean ): Boolean; var i: Integer; ItP: string; items: array[1..11] of Cardinal; sprgrsbr1: TsProgressBar; begin Result:= False; Application.ProcessMessages; try with CreateInArchive(CLSID_CFormat7z) do begin OpenFile(FileName); SetProgressCallback(sprgrsbr1, ProgressCallback); for i:= 1 to NumberOfItems - 1 do if not ItemIsFolder[i] then //ExtractItem(items[i], Steam, False); - как ей пользоваться в душе не понимаю... ExtractTo(DestDir); end; finally Result:= True; end; end;

Глобальная горячая клавиша

Чтобы программа реагировала на нажатие определённых клавиш даже в неактивном состоянии, не обязательно ставить хук на клавиатуру. Можно зарегистрировать свою горячую клавишу, при её нажатии дескриптору, указанному при регистрации, будет отправляться сообщение WM_HOTKEY. Для регистрации горячей клавиши нужно использовать функцию RegisterHotKey(), для снятия регистрации UnregisterHotKey(). Рассмотрим пример: Сперва нужно добавить обработчик сообщений WM_HOTKEY. Для этого напишите в секции private

...
private
   procedure OnHotKey(var Msg: TWMHotKey); message WM_HOTKEY;
...
Теперь надо реализовать этот метод.
procedure TForm1.OnHotKey(var Msg: TWMHotKey);
begin
   inherited;
   MessageBeep(0); // Любые действия при нажатии гор. клавиши
end;
И соответсвенно регистрация/снятие регистрации
procedure TForm1.FormCreate(Sender: TObject);
begin
   RegisterHotKey(Handle, Ord('U'), 0, Ord('U')); //регистрац. гор. клавиши U
end; 
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
   UnregisterHotKey(Handle, Ord('U')); // снятие регистрации
end; 
Обратите внимание, что после регистрации горячей клавиши при её нажатии сообщение будет отправляться только форме, для других приложений клавиша работать не будет до снятия регистрации. При нажатии клавиши U будет раздаваться пик динамика.

Вот и всё, Удачи!

Источник: www.thedelphi.ru
Автор: Савельев Александр
Опубликовано: 25 Мая 2014
Просмотров:


Зарегистрируйтесь или авторизуйтесь, чтобы добавлять комментарии.



аватар Добавил(а): chasovitin [Новичок] Дата: 2014-05-26
отлично, что сайт не заброшен, а можно пообщаться с админом вконтакте?




аватар Добавил(а): chasovitin [Новичок] Дата: 2014-05-26
отлично, что сайт не заброшен, а можно пообщаться с админом вконтакте?