Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.29;
Скачать: CL | DM;

Вниз

Сообщение как модальная форма..   Найти похожие ветки 

 
pathfinder   (2006-10-11 23:51) [0]

Доброй ночи!
Подскажите пожалуйста, как можно вывести сообщение в модальном режиме? Пробовал с MsqBox - ничего не выходит:(
Обязательно создавать форму и выводить ее в модальном режиме?


 
Джо ©   (2006-10-11 23:52) [1]

> Пробовал с MsqBox - ничего не выходит:(

Попробуй, например, с MessageBox.


 
pathfinder   (2006-10-12 00:01) [2]


> Попробуй, например, с MessageBox.

Я его и имел в виду..


 
Джо ©   (2006-10-12 00:05) [3]

> [2] pathfinder   (12.10.06 00:01)
>
> > Попробуй, например, с MessageBox.
>
> Я его и имел в виду..

Его и нужно было написать. А как именно "пробуешь" и что именно "не получается". У меня вот все получается.


 
pathfinder   (2006-10-12 00:10) [4]

пробую с флагами: MB_APPLMODAL, MB_SYSTEMMODAL, MB_TASKMODAL и в лучшем случае оно перекрывает только свое окно(


 
Джо ©   (2006-10-12 00:16) [5]


> и в лучшем случае оно перекрывает только свое окно(

Что значит "свое окно"? Что вообще в твоей понимании "модальное окно"?


 
pathfinder   (2006-10-12 00:20) [6]

Мда..модальная форма оказыается тоже не то, что нужно:)

Идея была такая, чтобы при появлении сообщения все остальные окна были недоступны, пока сообщение не закрыто. Интересно, так можно сделать?


 
Kolan ©   (2006-10-12 00:23) [7]


> все

Вообще все или в твоем приложении?


 
DrPass ©   (2006-10-12 00:25) [8]

А если в качестве первого параметра для MessageBox указать Application.Handle? :)


 
pathfinder   (2006-10-12 00:32) [9]


> Вообще все или в твоем приложении?


Вообще вообще..


 
Kolan ©   (2006-10-12 00:33) [10]


>
> Вообще вообще..

Извечный вопрос, а что по твоему будет если запустить 2(два) таких приложения?


 
pathfinder   (2006-10-12 00:40) [11]


> Извечный вопрос, а что по твоему будет если запустить 2(два)
> таких приложения?

не знаю..я хотел это испльзовать как раз для того, чтобы нельзя было запускать сразу несколько приложений..
например:
 MyMutex := CreateMutex(Nil, False, "MY_PROGRAM");
 if GetLastError <> 0 then
   begin
     MessageDlg("Программа уже запущена.", mtError, [mbOK], 0);
     Exit;
   end;
и хотел чтобы сообщение котрое говорит, "программа уже запущена" надо было закрыть чтобы вернуться к остальным окнам. Иначе можно запустить приложение много раз и появится много сообщений:(


 
Джо ©   (2006-10-12 00:43) [12]

> [11] pathfinder   (12.10.06 00:40)
> и хотел чтобы сообщение котрое говорит, "программа уже запущена"
> надо было закрыть чтобы вернуться к остальным окнам. Иначе
> можно запустить приложение много раз и появится много сообщений:
> (

Не тем путем идешь. Просто активизируй уже запущенное приложение, а свое закрой.


 
pathfinder   (2006-10-12 00:44) [13]


> Не тем путем идешь. Просто активизируй уже запущенное приложение,
>  а свое закрой.

А как его активировать?


 
Германн ©   (2006-10-12 01:47) [14]

2 pathfinder   (12.10.06 00:44) [13]
I>
> А как его активировать?

 FindWindow();
 if IsIconic() then
    ShowWindow(..., SW_RESTORE)
  else
    BringWindowToTop();
    SetForegroundWindow(PrevInstHandle);

ПисАл "наобум по памяти, которая скорее склероз, чем память". :-)

А ты пытаешься "из пушки по воробьям".


 
Джо ©   (2006-10-12 01:50) [15]

> [14] Германн ©   (12.10.06 01:47)
> А ты пытаешься "из пушки по воробьям".

Скорее, серпом по.


 
Германн ©   (2006-10-12 01:59) [16]


> Джо ©   (12.10.06 01:50) [15]
>
> > [14] Германн ©   (12.10.06 01:47)
> > А ты пытаешься "из пушки по воробьям".
>
> Скорее, серпом по.
>

Да. Пожалуй ты, Серёг прав. Что-то похожее наблюдал летом на халтурке в Димитровграде. Я имею в виду "все остальные окна были недоступны". Даже сама винда была недоступна. Правда тогда были "кривые драйвера" к контроллерам. Да ещё и современная тенденция "отсутствие AnyKey на системном блоке"! Друг Кэтмара бы её побрал! :-)


 
pathfinder   (2006-10-12 11:24) [17]


> А ты пытаешься "из пушки по воробьям".

Да..действительно.

Всем спасибо:)


 
pathfinder   (2006-10-12 11:32) [18]


>  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;


 
Ketmar ©   (2006-10-12 16:37) [19]

>[16] Германн(c) 12-Oct-2006, 01:59
>Друг Кэтмара бы её побрал! :-)
нафига она ему? %-)



Страницы: 1 вся ветка

Текущий архив: 2006.10.29;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.047 c
3-1156941283
tytus
2006-08-30 16:34
2006.10.29
Как правильно создать пользователя.


15-1159963430
dreamse
2006-10-04 16:03
2006.10.29
Подскажите компоненту


6-1149925061
SamProf
2006-06-10 11:37
2006.10.29
Как проверить наличие ftp сервака на компе


15-1159418720
Тульский
2006-09-28 08:45
2006.10.29
Понятие NULL


6-1149006478
Tananda
2006-05-30 20:27
2006.10.29
TNMUDP