![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как запретить обработку любых действий пользователя?
Суслик_ © (2009-11-12 15:00:00)Здравствуйте.
Как запретить обработку любых действий пользователя?
Под действиями понимается кликанье мышкой по кнопкам и горячие клавиши.
Задача в том, чтобы на время работы Application.ProcessMessages не дать пользователю ничего такого нажать - например, ту же alt+f4.
Суслик_ (2009-11-13 10:32:00) [21]Спасибо, посмотрю.
oxffff (2009-11-13 09:37:00) [22]Отрубить пользователю руки и ноги.
Юрий Зотов (2009-11-13 09:15:00) [23]> Суслик
Возможно, это:
function BlockInput(fBlockIt: BOOL): BOOL; stdcall; external user32 name 'BlockInput';
procedure TForm1.Timer1Timer(Sender: TObject); // Interval = 5000
const
Colors: array[boolean] of TColor = (clGreen, clRed);
begin
FInputBlocked := not FInputBlocked; // Поле формы
Color := Colors[FInputBlocked]; // Изначально Color = clGreen
BlockInput(FInputBlocked) // Оп-ля!
end;
Игорь Шевченко (2009-11-12 20:40:00) [24]Суслик_ (12.11.09 18:47) [5]
RTFS: Forms.pas
Суслик_ (2009-11-12 18:47:00) [25]Спасибо, Игорь. Обязательно почитаю, когда найду справку по этой функции.
У тебя, случаем, нет? Можешь кинешь копию из справки? В D2007 она не описана вообще )
Игорь Шевченко (2009-11-12 16:13:00) [26]DisableTaskWindows/EnableTaskWindows ?
Дмитрий Белькевич (2009-11-12 15:41:00) [27]Я у себя вывешиваю онтоповый сплэш - ждите...
Суслик_ (2009-11-12 15:05:00) [28]Сергей, ну есть какая-то такая глобальная штука на все программу (это MDI с горой открытых окно, Action и в главной форме и в ребенке), чтобы так
DenyAllActions();
try
...
Application.ProcessMessages();
...
finally
AllowAllActions();
end;
?
Сергей М. (2009-11-12 15:02:00) [29]
> не дать пользователю ничего такого нажать
Чтобы он ничего не нажимал, надо отобрать у него все кнопки)
> на время работы Application.ProcessMessages
Можно подумать, что тебя кто-то заставляет вызывать этот метод..