Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.10.29;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.046 c
2-1160732461
vigo_
2006-10-13 13:41
2006.10.29
правильный поиск в строке


2-1160467962
Монг
2006-10-10 12:12
2006.10.29
Как узнать из какой формы вызвана форма ?


2-1160412563
Степан
2006-10-09 20:49
2006.10.29
И зачем нужна такая оптимизация...


1-1158552878
dm37
2006-09-18 08:14
2006.10.29
COM-порт задержка


2-1160647574
Mishenka
2006-10-12 14:06
2006.10.29
Получение фокуса компонентом.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский