Форум: "Media";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];
ВнизТекст на экране Найти похожие ветки
← →
Инкогнито (2004-01-06 17:40) [0]Здраствуйте МАСТЕРА!
Мне надо сделать, чтобы текст рисовался на экране поверх всего (чего бы там не происходило), а потом через определенное время стирался.
Помогите пожалуйста.
Зарание спасибо...
← →
Mihey © (2004-01-06 18:00) [1]Предлагаю такой способ. Создаёшь TPicture, на его Bitmap выводишь текст через Canvas.TextOut. Цвет фон аделай по цвету формы. Затем рисуешь текст на канву формы. Затем содаёшь регион, который по форме равен тексту (как бы делаем форму прозрачной). Это можно сделать следующими функциями:
Делаем регион:
procedure CropWindow( Handle: HWnd; Picture : TPicture );
var
hrgn, hrgn1 : integer;
hdc : integer;
x, y : integer;
Color : TColor;
begin
// Color := Picture.Bitmap.Canvas.Pixels[ 0, 0 ];
Color := clWhite;
hdc := GetDC( Handle );
hrgn := CreateRectRgn( 0, 0, Picture.Graphic.Width, Picture.Graphic.Height );
for x := 1 to Picture.Graphic.Width do
for y := 1 to Picture.Graphic.Height do
if Picture.Bitmap.Canvas.Pixels[ x - 1, y - 1 ] = Color then begin
hrgn1 := CreateRectRgn( x - 1, y - 1, x, y);
CombineRgn( hrgn, hrgn, hrgn1, RGN_DIFF );
DeleteObject( hrgn1 );
end;
SetWindowRgn( Handle, hrgn, true );
//DeleteObject( hrgn );
ReleaseDC( Handle, hdc);
end;
Всё назад:
procedure UncropWindow( Handle: HWnd; Picture : TPicture );
var
hrgn : integer;
hdc : integer;
begin
hdc := GetDC( Handle );
hrgn := CreateRectRgn( 0, 0, Picture.Graphic.Width , Picture.Graphic.Height );
SetWindowRgn( Handle, hrgn, true );
ReleaseDC( Handle, hdc );
end;
В качестве хэндла указываешь хэндл формы. Ну и делаешь форму Stay On Top, как это сделать - спроси в других конференциях, т.к. боюсь только режим StayOnTop тут не поможет.
И всё.
← →
Инкогнито (2004-01-07 09:12) [2]Огромное спасибо, Mihey !
← →
марсианин © (2004-01-10 00:43) [3]на DelphiGFX красивый пример есть Hello world.. если не ошибаюсь - самый последний в Samples
правда там окно не поверх всего. попробуй вызывать SetWindowPos при инициализации окна со вторым параметром HWND_TOPMOST или чн похожее
← →
Mihey © (2004-01-10 01:39) [4]http://delphigfx.mastak.ru/samples7.htm
Да уж, красивый. В описании сказано:
"Программа демонстрирует создание регионов на базе путей (paths)."
Т.е. практически мой способ. Регионы, как уж без них. Ну ещё можно оверлеи юзать, но это на профессионалов.
← →
fashist © (2004-01-13 16:26) [5]можно функциями API можно функциями OpenGL выбери какими и напиши на майл я тебе пришлю полоное решение OK?
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.038 c