Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Не давать запускать другую форму по нажатию клавишы пока не закрыта запущенная ранее / 3 сообщений из 3, страница 1 из 1
15.10.2018, 10:20
    #39717414
арт2010
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не давать запускать другую форму по нажатию клавишы пока не закрыта запущенная ранее
На главной форме (которая всегда открыта) есть несколько второстепенных, которые запускаются по нажатию клавиш(ы) в модальном режиме, например:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
if Msg.CharCode = VK_F2	then
 begin
   if (not Assigned(frmDiscount)) then
    begin
    Application.CreateForm(TfrmDiscount, frmDiscount);
    if frmDiscount.ShowModal = mrOk then
    ...



Код: sql
1.
2.
3.
4.
 if (Msg.CharCode = VK_F6) and (FLastKeyCode <> VK_CONTROL) and (FLastKeyCode <> VK_shift) then
  begin
     ...
     frmKolvo.ShowModal;



Проблема в том что все эти формы можно вызвать одну за другой и они будут отображаться одновременно, а мне нужно чтобы если вызовешь одну, следующую уже вызвать было нельзя, пока не будет закрыта первая. Можно это сделать как-нибудь изящно, не проверяя открыта ли какая-нибудь из вспомогательных форм (коих около 10)?
З.Ы. Проще прощения, если вопрос нубский
...
Рейтинг: 0 / 0
15.10.2018, 10:26
    #39717417
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не давать запускать другую форму по нажатию клавишы пока не закрыта запущенная ранее
Вообще говоря, совершенно непонятно, какого фига клавиатурные нажатия обрабатываются задисейбленной главной формой в то время, когда открыта модальная. Да и судя по коду, их обработка сделана слишком уж нетривиально. Тем не менее, если нет желания сделать нормально, никто не мешает вставить if Screen.ActiveForm = MainForm...
...
Рейтинг: 0 / 0
15.10.2018, 10:41
    #39717430
арт2010
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не давать запускать другую форму по нажатию клавишы пока не закрыта запущенная ранее
softwarer, спасибо
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Не давать запускать другую форму по нажатию клавишы пока не закрыта запущенная ранее / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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