![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сообщение как модальная форма.. [D5, 2000]
pathfinder © (2006-10-11 23:51:00)Доброй ночи!
Подскажите пожалуйста, как можно вывести сообщение в модальном режиме? Пробовал с MsqBox - ничего не выходит:(
Обязательно создавать форму и выводить ее в модальном режиме?
Ketmar (2006-10-12 16:37:00) [1]>[16] Германн(c) 12-Oct-2006, 01:59
>Друг Кэтмара бы её побрал! :-)
нафига она ему? %-)
pathfinder (2006-10-12 11:32:00) [2]
> FindWindow();
> if IsIconic() then
> ShowWindow(..., SW_RESTORE)
> else
> BringWindowToTop();
> SetForegroundWindow(PrevInstHandle);
у меня получилось что-то такое:
whnd:=FindWindow('TApplication', 'MYProg');
if whnd <> 0 then
begin
if IsIconic(whnd) <> 0 then
begin
ShowWindow(whnd, SW_RESTORE);
Exit;
end
else
begin
SetForegroundWindow(whnd);
Exit;
end;
pathfinder (2006-10-12 11:24:00) [3]
> А ты пытаешься "из пушки по воробьям".
Да..действительно.
Всем спасибо:)
Германн (2006-10-12 01:59:00) [4]
> Джо © (12.10.06 01:50) [15]
>
> > [14] Германн © (12.10.06 01:47)
> > А ты пытаешься "из пушки по воробьям".
>
> Скорее, серпом по.
>
Да. Пожалуй ты, Серёг прав. Что-то похожее наблюдал летом на халтурке в Димитровграде. Я имею в виду "все остальные окна были недоступны". Даже сама винда была недоступна. Правда тогда были "кривые драйвера" к контроллерам. Да ещё и современная тенденция "отсутствие AnyKey на системном блоке"! Друг Кэтмара бы её побрал! :-)
Джо (2006-10-12 01:50:00) [5]> [14] Германн © (12.10.06 01:47)
> А ты пытаешься "из пушки по воробьям".
Скорее, серпом по.
Германн (2006-10-12 01:47:00) [6]2 pathfinder (12.10.06 00:44) [13]
I>
> А как его активировать?
FindWindow();
if IsIconic() then
ShowWindow(..., SW_RESTORE)
else
BringWindowToTop();
SetForegroundWindow(PrevInstHandle);
ПисАл "наобум по памяти, которая скорее склероз, чем память". :-)
А ты пытаешься "из пушки по воробьям".
pathfinder (2006-10-12 00:44:00) [7]
> Не тем путем идешь. Просто активизируй уже запущенное приложение,
> а свое закрой.
А как его активировать?
Джо (2006-10-12 00:43:00) [8]> [11] pathfinder (12.10.06 00:40)
> и хотел чтобы сообщение котрое говорит, "программа уже запущена"
> надо было закрыть чтобы вернуться к остальным окнам. Иначе
> можно запустить приложение много раз и появится много сообщений:
> (
Не тем путем идешь. Просто активизируй уже запущенное приложение, а свое закрой.
pathfinder (2006-10-12 00:40:00) [9]
> Извечный вопрос, а что по твоему будет если запустить 2(два)
> таких приложения?
не знаю..я хотел это испльзовать как раз для того, чтобы нельзя было запускать сразу несколько приложений..
например:
MyMutex := CreateMutex(Nil, False, 'MY_PROGRAM');
if GetLastError <> 0 then
begin
MessageDlg('Программа уже запущена.', mtError, [mbOK], 0);
Exit;
end;
и хотел чтобы сообщение котрое говорит, "программа уже запущена" надо было закрыть чтобы вернуться к остальным окнам. Иначе можно запустить приложение много раз и появится много сообщений:(
Kolan (2006-10-12 00:33:00) [10]
>
> Вообще вообще..
Извечный вопрос, а что по твоему будет если запустить 2(два) таких приложения?
pathfinder (2006-10-12 00:32:00) [11]
> Вообще все или в твоем приложении?
Вообще вообще..
DrPass (2006-10-12 00:25:00) [12]А если в качестве первого параметра для MessageBox указать Application.Handle? :)
Kolan (2006-10-12 00:23:00) [13]
> все
Вообще все или в твоем приложении?
pathfinder (2006-10-12 00:20:00) [14]Мда..модальная форма оказыается тоже не то, что нужно:)
Идея была такая, чтобы при появлении сообщения все остальные окна были недоступны, пока сообщение не закрыто. Интересно, так можно сделать?
Джо (2006-10-12 00:16:00) [15]
> и в лучшем случае оно перекрывает только свое окно(
Что значит "свое окно"? Что вообще в твоей понимании "модальное окно"?
pathfinder (2006-10-12 00:10:00) [16]пробую с флагами: MB_APPLMODAL, MB_SYSTEMMODAL, MB_TASKMODAL и в лучшем случае оно перекрывает только свое окно(
Джо (2006-10-12 00:05:00) [17]> [2] pathfinder (12.10.06 00:01)
>
> > Попробуй, например, с MessageBox.
>
> Я его и имел в виду..
Его и нужно было написать. А как именно "пробуешь" и что именно "не получается". У меня вот все получается.
pathfinder (2006-10-12 00:01:00) [18]
> Попробуй, например, с MessageBox.
Я его и имел в виду..
Джо (2006-10-11 23:52:00) [19]> Пробовал с MsqBox - ничего не выходит:(
Попробуй, например, с MessageBox.