Страница: 1 |
Страница: 1 |
Вопрос: Стандартное окно сообщений (MsgBox).....
Добавлено: 31.08.04 19:40
Автор вопроса: Navigator | ICQ: 177815632
Можно ли сделать так, чтобы стандартное окно сообщений (MsgBox) находилось всегда поверх всех окон?
Спасибо.
Ответы
Всего ответов: 7
Номер ответа: 1
Автор ответа:
cresta
Вопросов: 117
Ответов: 1538
Профиль | | #1
Добавлено: 31.08.04 20:34
После появления MsgBox'a сделай FindWindow, получишь его hWnd, а затем SetWindowPos с этим hWnd и параметром HWND_TOP.
Номер ответа: 2
Автор ответа:
shareman
Вопросов: 11
Ответов: 37
Профиль | | #2
Добавлено: 31.08.04 22:55
>После появления MsgBox'a сделай FindWindow
Это как же после? После его уже не будет, он же модальный...
Private Sub Command1_Click()
MsgBox "Waw!"
'это будет только когда MsgBox уйдет!
 ebug.Print "Waw!"
End Sub
Номер ответа: 3
Автор ответа:
dNW
Вопросов: 30
Ответов: 683
Профиль | | #3
Добавлено: 01.09.04 07:20
Все сказанное здесь верно
Наверно тебе придется делать свою форму для MsgBox'a
Номер ответа: 4
Автор ответа:
cresta
Вопросов: 117
Ответов: 1538
Профиль | | #4
Добавлено: 01.09.04 08:38
1. В вопросе не идет речь о том, какое приложение запустило msgbox, т.е. по отношению к кому оно модальное.
2. Если пугает модальность, то есть такая функция:
Declare Function MessageBox Lib "user32.dll" Alias "MessageBoxA" (ByVal hwnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As Long) As Long
и есть такой флаг: Const MB_SYSTEMMODAL As Long = &H1000&
Делаем так:
MessageBox 0, "Коробка сообщений", "Модальный", MB_SYSTEMMODAL
и всё. Коробка всегда TOPMOST и никого не тормозит.
Номер ответа: 5
Автор ответа:
Navigator
ICQ: 177815632
Вопросов: 11
Ответов: 70
Профиль | | #5
Добавлено: 01.09.04 15:06
По поводу приложения - оно вообще в трее сидит, тоесть на экране его нет, а всплытие сообщения это есть ответ на некоторое действие... Для этого мне и нужно чтобы MsgBox был всегда поверх, чтобы увидить важное сообщение за кучей других окон.
Оки, попробуем с функцией, спасибо за помощь.
Номер ответа: 6
Автор ответа:
Comanche
Вопросов: 87
Ответов: 459
Профиль | | #6
Добавлено: 01.09.04 15:56
2Navigator:
пытался отправить тебе проект на мыло, указанное в профиле, - не проходит (
Номер ответа: 7
Автор ответа:
Navigator
ICQ: 177815632
Вопросов: 11
Ответов: 70
Профиль | | #7
Добавлено: 02.09.04 23:43
Странно, походу что-то с ящиком, вот новый адрес - airlab@mail.ru