Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сообщение как модальная форма.. [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.


Наверх

Титульная страница Поиск, карта сайта Написать письмо