Текущий архив: 2005.07.31;
Скачать: CL | DM;
Внизполупрозрачная надпись Найти похожие ветки
← →
Альфа (2005-06-02 15:28) [0]Здравствуйте! Как сделать следующее: выводить полупрозрачную надпись периодически через 1/100 секунды поверх всех окон? GetDC(0)+TextOut() не подходит, т.к. надпись затирается если открыть какое нибудь окно. Нужно, чтобы надпись мерцала и была полупрозрачной и это должно работать во всех Windows.
← →
Eraser © (2005-06-02 21:55) [1]Альфа (02.06.05 15:28)
"Намертво", чтобы не затиралась - никак.
Полупрозрачнасть легко организовать с пом. св-ва ScanLine или Pixels.
← →
Чапаев © (2005-06-03 10:50) [2]> выводить полупрозрачную надпись периодически через 1/100
> секунды поверх всех окон? GetDC(0)+TextOut() не подходит, т.к.
> надпись затирается если открыть какое нибудь окно
Хм. Если ты её 100 раз в секунду обновляешь, как же это ты успеваешь заметить, что надпись затёрта?
← →
alpet © (2005-06-03 11:11) [3]Создай полупрозрачную форму без заголовка (borderStyle=bsNone), установи ее свойство formStyle в fsStayOnTop, размести в середине компонент TLabel с нужной тебе надписью. И не надо никаких периодических выводов.
← →
Чапаев © (2005-06-03 11:17) [4]> Создай полупрозрачную форму без заголовка
Не будет работать под 9х.
← →
Neznaika © (2005-06-03 11:26) [5]>>Не будет работать под 9х
Win9x в работе, уже года два не видел, не на работе не дома ни у кого, кто им пользуется еще...
← →
alpet © (2005-06-03 11:39) [6]Под 9x очень проблемно сделать "полупрозрачную надпись поверх всех окон". Не смотря даже на наличие в 98 функции TransparentBlt.
← →
Eraser © (2005-06-03 13:11) [7]alpet © (03.06.05 11:39) [6]
Где-то я видел пример, создания полупрозрачных окон под 9x - что самое удивительное - работало... но примерчик не маленький, и могут возникать глюки.
← →
GrayFace © (2005-06-03 13:31) [8]У меня есть такой пример, но он не рассчитан на StayOnTop.
← →
Чапаев © (2005-06-03 13:56) [9]> Где-то я видел пример, создания полупрозрачных окон под 9x -
> что самое удивительное - работало...
В принципе, можно брать (в простейшем случае) среднее арифметическое пиксела десктопа и соответствующего пиксела формы и рисовать сей пиксель вместо оригинального...
Естественно, способ феноменально тормозной.
← →
alpet © (2005-06-03 19:24) [10]Чапаев © (03.06.05 13:56) [9]
Для этого достаточно TransparentBlt. Другое дело что надо обрабатывать перемещение и изменение размера всех окнон довольно хитроумно, перед началом перемещения сохраняя изображение всех окон и рабочего стола. Без ловушек здесь естественно не обойтись.
← →
alpet © (2005-06-03 20:10) [11]Перепутал сорри - функция - AlphaBlend.
Страницы: 1 вся ветка
Текущий архив: 2005.07.31;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.035 c