Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Как сделать OSD?


Автор: WINSE 8.8.2007, 14:19
Перерыл кучу сайтов, нигде ничего путевого не нашел, ни в интеренете ни в ДРКБ...

Вопрос следующий: как на делфях сделать OSD (On-Screen Display) - это когда текст/изображение выводится на экран поверх окна/игрушки/фильма.

Кто поможет?

Автор: Snowy 8.8.2007, 14:40
Это обычное окно, но с прозрачным фоном.

Автор: Yanis 8.8.2007, 14:43
http://users.adelphia.net/~rllibby/source.html

Автор: WINSE 8.8.2007, 15:29
Пасиб: темовский модуль... ))

Часть проблемы решена - вторая часть проблемы состоит в том, что мну надо вывести таким макаром на экран картинку из файла (желательно jpg-шку)...

Автор: Snowy 8.8.2007, 16:12
Джпежку не стоит - края рваные получатся.
Нуно bmp или png выводить.
Просто сделай фон картинки таким же, как и у цвета прозрачности и отрисуй или брось в TImage.

Автор: WINSE 8.8.2007, 17:03
Цитата(Snowy @ 8.8.2007,  16:12)
 и отрисуй или брось в TImage.

Отрисовать? Эт каким образом?

Автор: Snowy 8.8.2007, 17:23
Canvas.Draw

Автор: WINSE 9.8.2007, 11:54
Все, норм )))

Решил проблему... Всем пасиб..

Автор: irzyxa 3.7.2010, 00:21
Если разобрался кинь пример для других, а то реально во всем нете нет такого

Автор: volodai 1.4.2011, 17:49
Это переделанный и портированный из Delphi в С++ класс от rllibby 
На форуме его выложил Yanis.

Титаническую smile работу проделал: Volodai
Адрес обратной связи см. исходный текст демки или кнопку ShowText в демке. 
Hello Spamer`s.

Чтобы использовать:

1. В билдере выполнить: Project\Add To Proect и добавить к проекту файлик TVOSD.cpp
2. Добавить в код следующее: #include "TVOsd.h"
3. Далее смотрите содержимое папки Demo.


[offtop]
А мне очень нужна информация о том, как бы мне это работать с ИК пультом через COM порт. 
(DCD приемник + RC5 пульт. Схема приемника как у SlyControl), причём очень желательно именно под С++ Builder или на худой конец Delphi. VC++ знаю плохо...
С COM портом то я умею, и даже могу считывать состояние DCD приемника (единички и нолики), но вот беда, как это преобразовать в повторяемый с каждым нажатием кнопки
пульта пакет... Я не до конца понимаю механизм... Видимо всё дело в том, что программа не может работать в Realtime режиме...

Изобретаю велосипед smile не для коммерческого (или для некоммерческого) использования. Подробности мылом. Буду благодарен.

Можно, конечно, через WinLirc, но не очень хочется иметь стороннее приложение, необходимое для работы моего приложения, хотя знаю как. Да и вообще, это же не наш метод...
Можно, конечно подсмотреть, как делается в WinLirc, но не очень получается. Там AFX используется, и как его подружить с Windows.h и вообще с VCL??? Да и можно ли подсматривать...
Можно, наверное, засунуть это в DLL, но не очень хочется разгребать, если не до конца ясен механизм работы сего кода. Я ж не профи... а писать зазря не очень охота...
[/offtop]

Автор: mniip 1.4.2011, 22:19
а если не форму надо, я много раз видел такое.
Я понял только что Canvas переключается с формы на Desktop и рисует.
Но это в общем, а как он это делает, вотв чем вопрос...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)