Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.02.2015, 23:11   #1
Mik92
Пользователь
 
Регистрация: 25.08.2014
Сообщений: 87
По умолчанию Как сделать диалог выбора кнопки?

Как сделать диалог выбора кнопки?
Пытаюсь предоставить пользователю выбрать кнопку которую он хочет использовать в дальнейшем в программе. Как мне словить нажатие какой то клавиши на клавиатуре?
Ловить нажатие через таймер?
Гугл нашел что то типа
Код:
ShowMessage('pressed '+IntTostr(TButton(Sender).Tag));
но это не подходит. Хотелось бы придумать какой то механизм который в нужное время включится для того чтобы словить нажатую кнопку и после того как словил, выключится. Подскажите, как быть
Mik92 вне форума Ответить с цитированием
Старый 13.02.2015, 07:49   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Хук поставь. SetWindowsHookEx()
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.02.2015, 08:48   #3
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

компонент THotKey
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 13.02.2015, 09:02   #4
lomastr_
Форумчанин
 
Регистрация: 16.01.2015
Сообщений: 672
По умолчанию

KeyDown + KeyPreview
lomastr_ вне форума Ответить с цитированием
Старый 13.02.2015, 16:16   #5
Mik92
Пользователь
 
Регистрация: 25.08.2014
Сообщений: 87
По умолчанию

С хуками не очень люблю работать так как используют dll. Вот насчет HotKey и KeyDown + KeyPreview я более уверен что подойдет. Спасибо
Mik92 вне форума Ответить с цитированием
Старый 13.02.2015, 18:00   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
так как используют dll
Это не совсем так. Хук WH_JOURNALPLAYBACK к примеру в библиотеке не нуждается.
Цитата:
компонент THotKey
А разве он горячую клавишу устанавливает?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.02.2015, 19:10   #7
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
По умолчанию

Выбор кнопки? Настройку сделай и всё. Вместо TButton используешь TImage, в него загружаешь картинку выбранной в настройках кнопки и всё. Если надо будет поменять, то пользователь просто может поменять картинку, на ту, которая ему больше нравится.
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума Ответить с цитированием
Старый 14.02.2015, 01:23   #8
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,926
По умолчанию

Цитата:
Сообщение от саша40 Посмотреть сообщение
Выбор кнопки? Настройку сделай и всё. Вместо TButton используешь TImage, в него загружаешь картинку выбранной в настройках кнопки и всё. Если надо будет поменять, то пользователь просто может поменять картинку, на ту, которая ему больше нравится.
Саша40 опять мимо кассы.
northener вне форума Ответить с цитированием
Старый 14.02.2015, 11:01   #9
Iron Monk
Форумчанин
 
Аватар для Iron Monk
 
Регистрация: 05.10.2007
Сообщений: 478
По умолчанию

Код:
procedure WMHotkey(var msg: TWMHotkey); message WM_HOTKEY;
.......................
procedure TForm1.WMHotkey(var msg: TWMHotkey);
begin
  if msg.hotkey = 1 then
  begin
    if IsIconic(Application.Handle) then
      Application.Restore;
      Form1.Visible:= not Form1.Visible;
      BringToFront;
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
     if not RegisterHotkey(Handle, 1, MOD_ALT or MOD_SHIFT, VK_F9) then
     ShowMessage('Unable to assign Alt-Shift-F9 as hotkey.');
end;
Iron Monk вне форума Ответить с цитированием
Старый 14.02.2015, 12:02   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Iron Monk
Не. Автору диалог выбора нужен. Я чет тоже сразу не в ту степь попер. Так что правильно выше сказали - отдельную форму с THotKey.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Диалог выбора файлов БалаШагаЛ Win Api 1 21.12.2011 20:39
Как отобразить модально диалог выбора файла GetOpenFileName? bigcrush Win Api 3 13.05.2009 16:03
Диалог выбора каталога AlexeyLed Общие вопросы C/C++ 0 15.03.2009 14:16
Диалог выбора папки delphin100 Общие вопросы Delphi 2 01.06.2008 22:43
Диалог выбора иконок ЧИЖ Общие вопросы Delphi 9 28.02.2007 13:14