ЗАСТАВИТЬ Appl..->MessageBox пок-ть в любом месте экрана?

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

rubaxa
Сообщения: 8
Зарегистрирован: 18 окт 2004, 16:46
Откуда: Украина, г.Харьков

Всем привет! :D
Большая просьба (или меня повесят через 4 дня :cry: ), как заставить
Application->MessageBox показывать сообщение не отцентрированное
по экрану, а задать его месторасположение (Left, Top)?
P.S. На мою голову дали указания переделать проект на двух мониторных системах, а там сообщения противно вырезаютсья и торчат
по краям обоих мониторов. (А проект огрооомный... :twisted: )
ВСЕМ ЗАРАНЕЕ ОГРОМНОЕ СПАСИБО :lol:
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

Похоже никак. MessageBox автоматически центрируется самой Windows по центру окна-парента. Выход такой: создаём модальный диалог CMyMessageBox и устанавливаем у него все аттрибуты, как у MessageBox диалога, добавляем ему методы SetText, SetTitle и SetIcon и имплементируем их. Всё, осталось только вызвать DoModal() :)
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Andy
Сообщения: 238
Зарегистрирован: 17 фев 2004, 08:15
Откуда: Минск

как заставить
Application->MessageBox показывать сообщение не отцентрированное
по экрану, а задать его месторасположение (Left, Top)?
Получить хендл MB и подвинуть его туда куда надо.
*provided AS IS
Eugie
Сообщения: 708
Зарегистрирован: 17 фев 2004, 23:59
Откуда: SPb

Получить хендл MB и подвинуть его туда куда надо.
Вопрос только, как его получить :)

Лучше сделать свой, Romeo прав.
Andy
Сообщения: 238
Зарегистрирован: 17 фев 2004, 08:15
Откуда: Минск

Вопрос только, как его получить
Да не проблема, можно установить хук. Можно хотя бы тут почитать - http://www.catch22.net/tuts/msgbox.asp
*provided AS IS
Absurd
Сообщения: 1228
Зарегистрирован: 26 фев 2004, 13:24
Откуда: Pietari, Venäjä
Контактная информация:

А метод Application->MessageBox вообще виртуальный или нет? может его переопределить как-то можно?
2B OR NOT(2B) = FF
Eugie
Сообщения: 708
Зарегистрирован: 17 фев 2004, 23:59
Откуда: SPb

Да не проблема, можно установить хук.
Конечно, можно, только это называется 'левой ногой за правым ухом почесать' :) Плохое решение в данном случае.
А метод Application->MessageBox вообще виртуальный или нет? может его переопределить как-то можно?
Нет, обычный (речь об Application из BC++ Builder)
rubaxa
Сообщения: 8
Зарегистрирован: 18 окт 2004, 16:46
Откуда: Украина, г.Харьков

Всем Бооольшое СПАСИБО! :D
Попробую УСЁ !!! [/img]
rubaxa
Сообщения: 8
Зарегистрирован: 18 окт 2004, 16:46
Откуда: Украина, г.Харьков

Удалось 'левой ногой за правым ухом почесать', Конечно плохое решение в данном случае, но меньше проблем с приведением своей формы под разные типы МessageBox ов . Ребята я ваш должник... :D
Eugie
Сообщения: 708
Зарегистрирован: 17 фев 2004, 23:59
Откуда: SPb

rubaxa, ну усё - теперь в век не расплатишься :)
Ответить