Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> горячая клавиша, одна и чтобы работала 
:(
    Опции темы
0LineGate
Дата 23.5.2007, 19:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 176
Регистрация: 17.2.2007
Где: Россия, Тула

Репутация: 0
Всего: 2



у меня возникла необходимость при нажатии ОДНОЙ клавиши делать нечто, только есть проблема нужно чтобы горячая клавиша работала даже в том случае если фокус не на форме! 
просьба: поиск не предлагать

Это сообщение отредактировал(а) 0LineGate - 26.5.2007, 01:50
PM MAIL WWW Skype   Вверх
Yanis
Дата 23.5.2007, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 6
Всего: 111



Это больше по WinAPI чем по Delphi или VCL.
Просто надо поставить хук. Ну или таймером проверять нажата клавиша или нет.

Это сообщение отредактировал(а) Yanis - 23.5.2007, 20:06


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Alexeis
Дата 23.5.2007, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 34
Всего: 459



Цитата(0LineGate @  23.5.2007,  19:40 Найти цитируемый пост)
только есть проблема нужно чтобы горячая клавиша работала даже в том случае если фокус не на форме! 

  Сам же и ответил на свой вопрос. Сделай глобальный hotkey.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Yanis
Дата 23.5.2007, 20:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 6
Всего: 111



Цитата(Alexeis @  23.5.2007,  21:18 Найти цитируемый пост)
 Сам же и ответил на свой вопрос. Сделай глобальный hotkey. 

Ой, забыл что их мона без акселераторов то использовать smile

Код
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
    procedure WMHK(var M: TWMHotKey); message WM_HOTKEY;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  ID: WORD;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  ID := GlobalAddAtom('test');
  RegisterHotKey(Handle, ID, 0, Ord('F'));
end;

procedure TForm1.WMHK(var M: TWMHotKey);
begin
  if M.HotKey = ID then
    ShowMessage('test');
end;

end.



--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Alexeis
Дата 23.5.2007, 20:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 34
Всего: 459





--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
0LineGate
Дата 23.5.2007, 22:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 176
Регистрация: 17.2.2007
Где: Россия, Тула

Репутация: 0
Всего: 2



2 Yanis

Код

procedure TForm1.FormCreate(Sender: TObject);
begin
  ID := GlobalAddAtom('test');
  RegisterHotKey(Handle, ID, 0, VK_SPACE);
end;

procedure TForm1.WMHK(var M: TWMHotKey);
begin
  if M.HotKey = ID then
    Application.Title:=('test');
end;

end.


 И  нифига неработает  smile 

ЗЫ насчёт 
Код

Не вижу ничего зазорного в использовании поиска.
Флудером себя не считаю.

я почти весь казёный трафик сожрал но ничего подходящего не нашёл  smile 

2 Alexeis
ну это ж раздел про Делфи... как никак  smile 

Это сообщение отредактировал(а) 0LineGate - 23.5.2007, 22:55
PM MAIL WWW Skype   Вверх
Sunvas
Дата 24.5.2007, 07:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: 2
Всего: 89



Цитата(0LineGate @  23.5.2007,  22:43 Найти цитируемый пост)
 И  нифига неработает  

Все работает. Я проверил. Ищи ошибку у себя.


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
0LineGate
Дата 26.5.2007, 01:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 176
Регистрация: 17.2.2007
Где: Россия, Тула

Репутация: 0
Всего: 2



ну у меня не работает даже в том случае даже если скопировать весь код Yanis'a...  smile 
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0861 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.