powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Реализовать горячие клавиши
9 сообщений из 9, страница 1 из 1
Реализовать горячие клавиши
    #39946517
Фотография wsnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллеги, есть код:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
function UserQuestion(const AQuestion: String;
                      const AFlags: Integer = MB_YESNO + MB_SYSTEMMODAL + MB_ICONQUESTION): Integer;
var
  Cursor : TCursor;
begin
  Cursor := Screen.Cursor;
  Screen.Cursor := crDefault;

  try
    Result := Application.MessageBox(PChar(AQuestion), PChar(PgSt.ProgramName), AFlags);
  finally
    Screen.Cursor := Cursor;
  end;
end;


Подскажите, как прикрутить горячие клавиши при вызове диалогового окна, то есть например:
Вы хотите удалить? (Да - гор клавиша Y, нет - гор клавиша N)?
...
Рейтинг: 0 / 0
Реализовать горячие клавиши
    #39946524
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно нарисовать свое окно, а можно сделать любую кнопку по-умолчанию выделенной (обычно yes) и воспользоваться кнопками enter (выбор по умолчанию) и esc - отмена.

Это как-бы азы не помню уже с какой винды. Еще на 2.11 было.
...
Рейтинг: 0 / 0
Реализовать горячие клавиши
    #39946526
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wsnet,

Стандартный MessageBox() и так будет реагировать на Y/N, Да/Нет... Хочешь другие хоткеи - придется лепить свою диалоговую форму.
...
Рейтинг: 0 / 0
Реализовать горячие клавиши
    #39946528
Фотография wsnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMaster,

не реагирует в том то и дело(
...
Рейтинг: 0 / 0
Реализовать горячие клавиши
    #39946530
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wsnet,

Тогда делай свой диалог и изгаляйся как хочешь... Хотя я бы совету камрада wadman`a последовал на твоем месте.
...
Рейтинг: 0 / 0
Реализовать горячие клавиши
    #39946533
Фотография wsnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman, по-умолчанию да, кнопка выделена, по по esc не получается, нажимаем и никак не реагирует.
...
Рейтинг: 0 / 0
Реализовать горячие клавиши
    #39946535
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wsnet,

MB_OKCANCEL вместо MB_YESNO попробуй
...
Рейтинг: 0 / 0
Реализовать горячие клавиши
    #39946536
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wsnet,

логично, для esc нужна кнопка "отмена".

https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-messagebox
авторIf a message box has a Cancel button, the function returns the IDCANCEL value if either the ESC key is pressed or the Cancel button is selected. If the message box has no Cancel button, pressing ESC has no effect.
...
Рейтинг: 0 / 0
Реализовать горячие клавиши
    #39946565
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wsnetне реагирует в том то и дело(

Очевидно, у твоей винды русская локализация и кнопки не Yes/No.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Реализовать горячие клавиши
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]