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

Вниз

RegisterHotKey   Найти похожие ветки 

 
AMQ   (2002-04-26 10:31) [0]

Функция RegisterHotKey регистрирует комбинацию клавиш.
Чтобы зарегистрировать в программе надо в качестве первого параметра указать
RegisterHotKey(form1.handle,...), а что надо указать, чтоб зарегестрировать эту комбинацию в Windows, в смысле если фокус не у моей формы?


 
Song   (2002-04-26 11:00) [1]

RegisterHotKey() регистрирует комбинацию во всей системе. И обрабатывается даже если на окне нет фокуса ввода.


 
Anar   (2002-04-30 08:51) [2]

RegisterHotKey() регистрирует там, куда указывает контекст воспроизведеения (DС). У неё по-моему такие параметры:
RegisterHotKey(hWND:HWND,...),указать надо form1.handle для твоей формы (где form1 - имя твоей формы). Просто я не знаю для всего Windows"a, но пo-моему для рабочего стола это DC это 0. Я так делал для рисования на desktope, но не могу тоже самое делать для RegisterHotKey().


 
Song   (2002-04-30 08:59) [3]

В FAQ есть пример использования RegisterHotKey() При чём тут DC...?


 
Vovchik   (2002-04-30 10:32) [4]

В RegisterHotKey нужно указывать хэндл окна, в которое будет отправлено сообщение о том, что зарегистрированная комбинация клавиш нажата. А регистрируеются они почти для всей системы, а именно будут работать только для конкретного рабочего стола - того, на котором была запущена программа, вызывающая RegisterHotKey.


 
Севостьянов Игорь   (2002-04-30 12:46) [5]

Вот тебе пример:

const
ID_HOT_KEY = 9;

type
TfrmMain = class(TForm)
protected
procedure SetHotKey(var Msg: TMessage); message WM_HOTKEY;
end;

var
frmMain : TfrmMain;
ID : Integer;
--------------------------
procedure TfrmMain.FormCreate(Sender: TObject);
begin
ID := GlobalAddAtom("APP_HOTKEY");
RegisterHotKey(Handle, ID, MOD_CONTROL + MOD_WIN, ID_HOT_KEY);
end;
--------------------------
procedure TfrmMain.SetHotKey(var msg: TMessage);
begin
if (msg.LParamLo = MOD_CONTROL + MOD_WIN) and (msg.LParamHi = ID_HOT_KEY) then ShowApp;
end;
--------------------------
procedure TfrmMain.FormDestroy(Sender: TObject);
begin
UnRegisterHotKey(Handle, ID);
GlobalDeleteAtom(ID);
end;
--------------------------
procedure TfrmMain.ShowApp;
begin
if not IsIconic(Application.Handle) then Application.Minimize
else
begin
Application.Restore;
Application.BringToFront;
end;
end;
--------------------------

Да не забудь проверки проставить ...



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

Форум: "Основная";
Текущий архив: 2002.05.16;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.005 c
1-49903
MisterBin
2002-05-02 16:31
2002.05.16
Полноэкранный режим как в играх


4-50186
savva
2002-03-14 12:35
2002.05.16
Не люблю задавать вопросы, но все таки приходится.. Можно ли создать процесс Internet Explorer а с параметром


3-49835
KAA
2002-04-18 17:30
2002.05.16
2000 Доки на Execution Plan


3-49895
wer
2002-04-19 10:14
2002.05.16
Проблемы с запросом


1-49970
eSKey
2002-04-29 17:42
2002.05.16
И как это убрать?!





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский