Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Рабочий стол
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 05.02.2008, 10:31
Аватар для The Shadow
The Shadow The Shadow вне форума
Продвинутый
 
Регистрация: 11.06.2007
Адрес: Уфа, Россия
Сообщения: 793
Репутация: 35
По умолчанию Прозрачный текст на рабочем столе

Как нарисовать текст на рабочем столе так, чтобы фон текста был прозрачным.
Делаю так:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
Picture: TPicture;
Desktop: TCanvas;
X, Y: Integer;
OldBkMode: Integer;
begin
Picture := TPicture.Create;
Desktop := TCanvas.Create;
OldBkMode:=SetBkMode(Picture.Bitmap.Canvas.Handle, TRANSPARENT);
Picture.Bitmap.Width:=Picture.Bitmap.Canvas.TextWidth('Текст');
Picture.Bitmap.Height:=Picture.Bitmap.Canvas.TextHeight('Текст');
Picture.Bitmap.Canvas.TextOut(0, 0, 'Текст');
SetBkMode(Picture.Bitmap.Canvas.Handle, OldBkMode);
Desktop.Handle := GetWindowDC(0);
X := 100;
Y := 100;
Desktop.Draw(X, Y, Picture.Graphic);
ReleaseDC(0, Desktop.Handle);
Picture.Free;
Desktop.Free;
Но текст все равно на белом фоне.
__________________
Что делать, когда сломался комп:
1. Если вы юзер - делать ноги.
2. Если ремонтник - делать деньги.
3. Если вы программист - делать вид, что так было задумано.
Ответить с цитированием
  #2  
Старый 05.02.2008, 20:13
НичеНепониаю НичеНепониаю вне форума
Новичок
 
Регистрация: 25.01.2008
Сообщения: 52
Репутация: 10
По умолчанию

Папробуй Transparent поставить (типа прозрачно)
__________________
НичеНепонимаю Савсем! Кто объяснит мне тот получит конфетку!!!
Ответить с цитированием
  #3  
Старый 06.02.2008, 02:25
Rosenkrantz Rosenkrantz вне форума
Активный
 
Регистрация: 04.12.2007
Адрес: Москва
Сообщения: 234
Версия Delphi: Delphi 7
Репутация: 40
По умолчанию

Код:
Picture.Bitmap.Canvas.Brush.Style := bsClear;
SetBkMode(Picture.Bitmap.Canvas.Handle, TRANSPARENT);
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 05:31.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter