Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Ctrl+C блокируется

59K
19 ноября 2010 года
Вова)
14 / / 05.10.2010
Нашел пример: пример демонстрирует установку горячей клавиши

Код:
CollapsedExpandedWrap enabledWrap disabledLine numbers onLine numbers off

      unit Unit1;
       
      interface
       
      uses
       
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,StdCtrls;
       
       
       
      type
       
      TForm1 = class(TForm)
       
         procedure FormActivate(Sender: TObject);
       
         procedure FormDestroy(Sender: TObject);
       
      private
       
         procedure WMHotKey(var Message: TMessage); message WM_HOTKEY;
       
      end;
       
       
       
      var
       
      Form1: TForm1;
       
      implementation
       
       
       
      {$R *.DFM}
       
      procedure Tform1.WMHotKey(var Message: TMessage);
       
      begin
       
      application.Restore;
       
      application.bringtofront;
       
      showmessage('Нажата CTRL-С!');
       
      end;
       
       
       
      procedure TForm1.FormActivate(Sender: TObject);
       
      begin
       
      RegisterHotKey(form1.Handle,123,mod_control,$43);
       
      end;
       
       
       
      procedure TForm1.FormDestroy(Sender: TObject);
       
      begin
       
      UnregisterHotKey(Handle, 123)
       
      end;
       
       
       
      end.




Почему Ctrl+C блокируется, и как это можно предотвратить?
7
19 ноября 2010 года
@pixo $oft
3.4K / / 20.09.2006
Может,потому что $43 и есть код клавиши C?Вы на него ставите хоткей,поэтому она не срабатывает
59K
19 ноября 2010 года
Вова)
14 / / 05.10.2010
Цитата:
Может,потому что $43 и есть код клавиши C?Вы на него ставите хоткей,поэтому она не срабатывает



Кода на С нет. Можно че придумать?

7
19 ноября 2010 года
@pixo $oft
3.4K / / 20.09.2006
Что значит нет?А это что?
 
Код:
RegisterHotKey(form1.Handle,123,mod_control,$43);
Или переформулируйте,что не так,чтобы было понятно
59K
19 ноября 2010 года
Вова)
14 / / 05.10.2010
И так пробовал:

 
Код:
const
 VK_C=67;

RegisterHotKey(Handle, 123, MOD_CONTROL, VK_C);


Без изменений
7
19 ноября 2010 года
@pixo $oft
3.4K / / 20.09.2006
Что «без изменений»?Вы что получить хотите-то?
«Ctrl+C блокируется» в каком смысле?
59K
19 ноября 2010 года
Вова)
14 / / 05.10.2010
Ну то есть при копирование сообщение вылазит, а текст не копируется
7
19 ноября 2010 года
@pixo $oft
3.4K / / 20.09.2006
Цитата: Вова)
Ну то есть при копировани[COLOR="Red"]И[/COLOR] сообщение вылазит, а текст не копируется

Само собой разумеется.Вы результат RegisterHotKey проверяйте

P.S.Вот описали задачу,и более понятно стало

278
29 ноября 2010 года
Alexander92
1.1K / / 04.08.2008
RegisterHotKey в таком виде, как вы написали, заставляет ЛЮБОЕ нажатие горячей клавиши в пределах операционки обрабатываться вашим приложением. Поставьте первым параметром 0.

Цитата:
hWnd [in, optional]
HWND

A handle to the window that will receive WM_HOTKEY messages generated by the hot key. If this parameter is NULL, WM_HOTKEY messages are posted to the message queue of the calling thread and must be processed in the message loop.


(c) http://msdn.microsoft.com/en-us/library/ms646309%28VS.85%29.aspx

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог