![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
CreateMessageDialog [D7, XP]
DimOK © (2007-09-10 16:21:00)Добрый день мастера. Столкнулся с такой проблеммой. Основная форма программы имеет свойство FormStyle равное fsStayOnTop. При вызове некоторой функции, в зависимости от ее выполнения, появляется модальное диалоговое окно, в котором сообщается некоторая информация. Привожу код:
if MainForm.TcpClient1.Connect = False then begin
Mess := CreateMessageDialog('Соединение не установленно',mtError,[mbOK]);
Mess.Caption := 'Ошибка соединения!';
Mess.FormStyle := fsStayOnTop;
Mess.DefaultMonitor := dmPrimary;
Mess.ShowModal;
Mess.Free;
end
else begin
Mess := CreateMessageDialog('Соединение установленно!',mtInformation,[mbOK]);
Mess.Caption := 'Информация';
Mess.FormStyle := fsStayOnTop;
Mess.DefaultMonitor := dmPrimary;
Mess.ShowModal;
Mess.Free;
SendReport();
end;
После выполнения данного кода, действительно появляется окно того или иного характера, но за основной формой, при чем основная форма теряет фокус. После того как форма получает фокус (я просто кликаю на нем указателем мыши), то это сообщение становиться перед основной формой. Подскажите пожалуйста как обойти этот случай, т,е. как сделать та кчто бы сообщение сразу выводилось по верх всех окон.
Заранее всем спасибо за ответы.
DimOK (2007-09-11 09:28:00) [1]
> А понял. Ты не в ту справку залез.
> MessageBox is an encapsulation of the Windows API MessageBox
> function.
MessageBox(Application.Handle,'Не возможно установить соединение!','Ошибка соединения',MB_ICONERROR);
Спасибо большое! :))
Германн (2007-09-11 00:43:00) [2]А понял. Ты не в ту справку залез.
MessageBox is an encapsulation of the Windows API MessageBox function.
Германн (2007-09-11 00:33:00) [3]
> И где?
Сказали же - в справке. А ты откуда пример привел?
DimOK (2007-09-10 18:00:00) [4]
> Читаем справку и не ноем, все там есть.
И где?
function MessageBox(const Text, Caption: PChar; Flags: Longint = MB_OK): Integer;
Anatoly Podgoretsky (2007-09-10 17:56:00) [5]> DimOK (10.09.2007 17:52:12) [12]
Читаем справку и не ноем, все там есть.
DimOK (2007-09-10 17:52:00) [6]
> Чем простой MessageBox мешает?
Но там только есть стили кнопок (повтор, отмена, ok, и т.п.), а как сделать что бы там и значек типа критикал или информатион отображался?
DimOK (2007-09-10 17:34:00) [7]
> А кто тут говорил о ShowMessage?
Упс.... лоханулся..... извеняюся, уже нашел, всем спасибо. :)
Германн (2007-09-10 17:32:00) [8]
> Смотрел про ShowMessage?
А кто тут говорил о ShowMessage?
DimOK (2007-09-10 17:24:00) [9]
> именно к этому методу
Извеняюсь, процедура
DimOK (2007-09-10 17:22:00) [10]
> Тогда зачем спрашиваешь, как стили прикрутить?
Ты сам то ее нажимал? Смотрел про ShowMessage? Если ты нашел в своем хелпе про стили именно к этому методу, то поделись, а то у меня того нет....,либо я не про то смотрю :)
Ega23 (2007-09-10 17:14:00) [11]
> Скорее всего так же как и у тебя
Тогда зачем спрашиваешь, как стили прикрутить?
DimOK (2007-09-10 17:08:00) [12]
> F1 у тебя как, работает?
Скорее всего так же как и у тебя
Ega23 (2007-09-10 17:04:00) [13]
> 3. MessageBox как тогда к ниму стиль применить?
F1 у тебя как, работает?
DimOK (2007-09-10 16:55:00) [14]
> И при этом основная форма StayOnTop?
Может работать в нем.... :)
Германн (2007-09-10 16:55:00) [15]
> 1. Программа работает в теневом режиме
И при этом основная форма StayOnTop?
DimOK (2007-09-10 16:52:00) [16]
> 1. Писать в статус-бар.
> 2. Зачем основная форма StayOnTop? Лично меня это сильно
> бы раздражало как пользователя.
> 3. А нафига так сложно? Чем простой MessageBox мешает?
1. Программа работает в теневом режиме
2. Так нужно
3. MessageBox как тогда к ниму стиль применить?
Ega23 (2007-09-10 16:50:00) [17]1. Писать в статус-бар.
2. Зачем основная форма StayOnTop? Лично меня это сильно бы раздражало как пользователя.
3. А нафига так сложно? Чем простой MessageBox мешает?