Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / BCB, немодальный MessageBox, как? / 11 сообщений из 11, страница 1 из 1
21.06.2004, 08:47
    #32568915
Demidov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BCB, немодальный MessageBox, как?
Привет! Надо сделать, чтобы прога по ходу работы выдавала сообщения, не останавливаясь при этом (чтобы они были немодальными), чтобы были сверху (TOPMOST). Вроде подходит CreateMessageDialog(), но, если я правильно понял, они потом не уничтожаются и копятся в памяти. Можно ли окну сделать самоудаление при закрытии?
В идеале нужен немодальный МеssageBox.
...
Рейтинг: 0 / 0
21.06.2004, 10:22
    #32569037
muk07
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BCB, немодальный MessageBox, как?
А нельзя по деревенски: создать немодальную форму, поместить туда сообщение...
...
Рейтинг: 0 / 0
21.06.2004, 10:29
    #32569055
Demidov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BCB, немодальный MessageBox, как?
По-деревенски можно, только сообщений м.б. много и все они должны оставаться на экране, а при закрытии самоуничтожаться. Тогда как уничтожать?
...
Рейтинг: 0 / 0
21.06.2004, 10:43
    #32569100
CEMb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BCB, немодальный MessageBox, как?
авторА нельзя по деревенски: создать немодальную форму, поместить туда сообщение...

Можно, но сам будешь человеку объяснять, как делать выравнивание кнопок OK, Cancel, Retry, и т.д, иконок и текста сообщений :)))

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

Хотя, вот помню, бился с обратной проблемой... Не мог его модальным сделать. Вспомню - напишу.
...
Рейтинг: 0 / 0
21.06.2004, 13:02
    #32569493
Demidov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BCB, немодальный MessageBox, как?
Вот нашел, что в OnClose() есть параметр Action, который может быть caFree. Форма будет закрыта, и занятые ей ресурсы БУДУТ ОСВОБОЖДЕНЫ. Как для рантайм формы сделать OnClose() ? Сейчас есть:
fm1 = CreateMessageDialog("...", mtError, TMsgDlgButtons());
fm1->Caption = "...";
fm1->FormStyle = fsStayOnTop;
fm1->Show();
...
Рейтинг: 0 / 0
22.06.2004, 13:42
    #32571621
muk07
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BCB, немодальный MessageBox, как?
to CEMb
Лет несколько тому назад для вырвнивания и размещения всего я написал функцию Msg с синтаксисом
int Msg(тип окна (ошибка usera, информация,вопрос...), Список надписей на кнопках через |, строка формата сообщения, произвольное число аргументов для формата)
Она действительно громоздкая и написана неуклюже, но я уже много лет в неё не заглядывал - только пользуюсь.
Так что не так все это страшно.
...
Рейтинг: 0 / 0
22.06.2004, 16:24
    #32572097
CEMb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BCB, немодальный MessageBox, как?
Я не говорю, что это страшно :)
Я говорю, нафиг велосипед делать заново, когда можно готовый скопироровать.

Кстати, ещё один совет автору поста(мной применённый, но, немного для других целей)
Можно навесить хук на активацию окна и ловить окна с месагами.
Этот приём описан хорошо в rsdn. Как раз способ, чтоб не писать своё окно сообщений с нуля ради новых фич.
...
Рейтинг: 0 / 0
23.06.2004, 07:37
    #32572888
Demidov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BCB, немодальный MessageBox, как?
Еще нашел это: TForm2 *MessageForm = new TForm2(this);
CEMb, видимо, об этом тоже забыл. :)
...
Рейтинг: 0 / 0
24.06.2004, 08:55
    #32574871
CEMb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BCB, немодальный MessageBox, как?
А я про это и не помнил :)
Это к чему вообще?
...
Рейтинг: 0 / 0
24.06.2004, 10:05
    #32574980
Demidov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BCB, немодальный MessageBox, как?
Так, оказалось мою проблему нетрудно было решить. Надо только знать как динамически создавать формы (TForm2 *MessageForm = new TForm2(this);) и что там м.б. caFree (освобождение памяти после закрытия). Это все, что мне надо, как я написал в начале.
...
Рейтинг: 0 / 0
24.06.2004, 10:36
    #32575030
CEMb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BCB, немодальный MessageBox, как?
А, блин, понял....
Меня на MessageBox клинануло...

Ну тоды да, тоды всё просто.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / BCB, немодальный MessageBox, как? / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]