Прозрачный текст на рабочем столе
Как нарисовать текст на рабочем столе так, чтобы фон текста был прозрачным.
Делаю так:
Код:
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. Если вы программист - делать вид, что так было задумано.
|