Вывод на экран
Задача состоит в следующем... при выполнении функции нужно вывести на экран какой нить текст и/или простое графическое изображение (например ГИФ с прозрачным фоном, но чтобы при выводе фон был прозрачен).... эта надпись/изображение должно держаться на экране несколько секунд, потом пропадать... причем, если запускаются другие приложения, нужно чтобы эта надпись ими не закрывалась...
кто-что может предложить?
Задача состоит в следующем... при выполнении функции нужно вывести на экран какой нить текст и/или простое графическое изображение (например ГИФ с прозрачным фоном, но чтобы при выводе фон был прозрачен).... эта надпись/изображение должно держаться на экране несколько секунд, потом пропадать... причем, если запускаются другие приложения, нужно чтобы эта надпись ими не закрывалась...
По первой части: создается форма без заголовка и бордюра, на нее лепится TImage c Align = alClient, показывается на экране, время показа запоминается. Потом в Application->OnIdle проверяется, не истекло ли время показа, и если истекло - форма прячется.
А вот как сделать ее видимой поверх других форм даже вне зависимости от активности той или иной программы - надо копать в документации.
По первой части: создается форма без заголовка и бордюра, на нее лепится TImage c Align = alClient, показывается на экране, время показа запоминается. Потом в Application->OnIdle проверяется, не истекло ли время показа, и если истекло - форма прячется.
А вот как сделать ее видимой поверх других форм даже вне зависимости от активности той или иной программы - надо копать в документации.
небольшое замечание... нужно чтобы эти буквы/изображения на экране были в фоне прозрачными... т.е. на экране чисто буквами написано что-то, плюс небольшие изображения.. всмысле формы не должно быть....
типичный пример только что придумал... вспомните надпись которая появляется на экране ТВ когда вы прибавляете звук..
небольшое замечание... нужно чтобы эти буквы/изображения на экране были в фоне прозрачными... т.е. на экране чисто буквами написано что-то, плюс небольшие изображения.. всмысле формы не должно быть....
типичный пример только что придумал... вспомните надпись которая появляется на экране ТВ когда вы прибавляете звук..
Form1->TransparentColor=true;
Кроме этого
FormStyle = fsStayOnTop;
BorderStyle = bsNone;
Если в 6-м Buildere у формы есть свойство AlphaBlend, как в Delphi 6, тогда можно ей присвоить значение > 0.
Кроме этого
FormStyle = fsStayOnTop;
BorderStyle = bsNone;
Borland C++ Builder 5... тогда что?
Borland C++ Builder 5... тогда что?
Form1->TransparentColor=true;
Form1->FormStyle = fsStayOnTop;
Form1->BorderStyle = bsNone;
Тебе этого за глаза и за уши хватит.
Form1->TransparentColor=true;
Form1->FormStyle = fsStayOnTop;
Form1->BorderStyle = bsNone;
Тебе этого за глаза и за уши хватит.
[C++ Error] Unit1.cpp(20): E2316 'TransparentColorValue' is not a member of 'TForm1'
[C++ Error] Unit1.cpp(21): E2316 'TransparentColor' is not a member of 'TForm1'
повторяю - Borland C++ Builder [SIZE=3]5[/SIZE]
[C++ Error] Unit1.cpp(20): E2316 'TransparentColorValue' is not a member of 'TForm1'
Все верно, нагнали они. Свойства TransparentColorValue у класса TForm нет и никогда не было.
Doomать надо...
[C++ Error] Unit1.cpp(20): E2316 'TransparentColorValue' is not a member of 'TForm1'
[C++ Error] Unit1.cpp(21): E2316 'TransparentColor' is not a member of 'TForm1'
повторяю - Borland C++ Builder [SIZE=3]5[/SIZE]
SetWindowRgn(Form1->Handle,hRgn0,true);
Почитай про
CombineRgn
CreateEllipticRgn
CreateEllipticRgn
IndirectCreatePolygonRgn
CreatePolyPolygonRgn
CreateRectRgn
CreateRectRgnIndirect
P.S. Переходи на 6ой Builder.
нужно чтобы эти буквы/изображения на экране были в фоне прозрачными...
У TLabel есть свойство Transparent, только не думаю, что оно поможет в этом случае...
Почему-то мне постоянно кажется, что придется создавать собственный класс формы с поддержкой прозрачности. Должны быть примеры, поищи...
http://www.sources.ru/cpp/bitmap/regions.shtml
Не знаю, устроит ли такой вариант:
Имитация прозрачности
делаем bitmap снимок всего экрана,
в том месте, где должна появиться надпись выводим форму, на которую наносим фрагмент изображения экрана, лежащего под формой, а поверх этого уже рисуем и пишем.
IMHO Tакие вещи совсем не так делаются
может как-то черз прямой доступ к видео-памяти (врать не буду , не сталкивался )
вот интересно как курсор мышки рисуется....
(даже еще до загрузки Windows)
может дурацкая идея, а что если динамически создавать рисунок курсора мышки, содержащий нужный тебе текст :)