Показать сообщение отдельно
  #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. Если вы программист - делать вид, что так было задумано.
Ответить с цитированием