|
Вопрос # 711/ вопрос решён / |
|
Здравствуйте, уважаемые эксперты!
Как можно сделать так, чтобы на экране поверх всех окон появлялся на несколько секунд текст? Пробовал через TextOut в цикле, но происходит мигание, пробовал всплывающие окна, но они перекрываются другими окнами и их видно только в момент "всплывания", а потом они исчезают. Сделал всплывающие окна в цикле, теперь это выглядит как мигающая полупрозрачная панелька с текстом, которая к тому же не работает, если изменить настройки всплывающих окон в винде. Подскажите что-нибудь, пожалуйста.
 |
Вопрос задал: Качурин Антон Павлович (статус: Посетитель)
Вопрос отправлен: 8 июля 2007, 12:04
Состояние вопроса: решён, ответов: 3.
|
Ответ #1. Отвечает эксперт: Градов Ю.М.
Здравствуйте, Качурин Антон Павлович!
Посмотрите по сноске, я кое-что накропал. К ответу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки ответа)
 |
Ответ отправил: Градов Ю.М. (статус: 8-ой класс)
Время отправки: 8 июля 2007, 14:39
Оценка за ответ: 5
Комментарий к оценке: Спасибо
|
Ответ #2. Отвечает эксперт: min@y™
А чем плохи окошки, как например, в QIP или в менеджере закачек браузера FireFox, вылезающие в приавом нижнем углу экрана? Такие окошки можно сделать из обычной формы, убрав заголовок (BorderStyle:= bsNone) и сделав форму глобально-модальной, повесив на её события OnShow и OnDeactivate вот такой обработчик:
procedure TMainForm.FormActivate(Sender: TObject);
begin
SetWindowPos(Handle,hwnd_TopMost,Left,Top,Width,Height,
swp_noActivate);
end;
Если нужно выводить сообщения из трея, то можно воспользоваться "баллунтултипами" (стандартными всплывающими подсказками). Это можно реализовать, покопавшись в API к windows 2000/XP или заюзать компонент TCoolTrayuIcon, где всё это уже реализовано (и не только это).
 |
Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 9 июля 2007, 08:22
Оценка за ответ: 5
Комментарий к оценке: Спасибо, хоть мало что понял, я русифицированные английские слова мало понимаю
|
Ответ #3. Отвечает эксперт: Дима Гусаков
Здравствуйте, Качурин Антон Павлович! Попробуй сделать пояление формы с текстом. У формы поставь свойство "поверх всех окон" Form1.FormStyle := fsStayOnTop;
или попробуй компонент KMAlert
 |
Ответ отправил: Дима Гусаков (статус: 2-ой класс)
Время отправки: 9 июля 2007, 19:50
Оценка за ответ: 1
Комментарий к оценке: игры при таком способе сворачиваются. Увы
|
Мини-форум вопроса
Всего сообщений: 1; последнее сообщение — 10 июля 2007, 11:29; участников в обсуждении: 1.
|
Аксион (статус: 4-ый класс), 10 июля 2007, 11:29 [#1]:
Попробуйте так: BorderStyle:= bsNone (как сказал min@y), у формы выберите любой цвет,transperentcolor:=true,transperentcolorvalue:=здесь укажите цвет как и у формы,formstyle:=fsstayontop,поместите компонент label фон должен быть такойже как и цвет, а цвет текста измените на любой другой(он должен быть не как у формы).Теперь поверх всех приложений будет только текст и ни чего больше!
|
31 января 2011, 20:00: Статус вопроса изменён на решённый (изменил модератор Ерёмин А.А.): Автоматическая обработка (2 и более ответов с оценкой 5)
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|