Search results for 'SetBkMode'. 2 post(s) found.

  1. 2007/09/11 How to draw transparent text on Windows Desktop
  2. 2007/09/01 How to draw Transparent Text on bitmap
2007/09/11 07:48

How to draw transparent text on Windows Desktop


Here's how to draw transparent text on the Windows Desktop:

{
Usage:
  DrawTextOnDesktop('About Delphi Programming'):
}

procedure DrawTextOnDesktop(TextToDraw: string) ;
var
  Handle: HWND;
  Dc: HDC;
  ACanvas: TCanvas;
begin
  Handle := GetDesktopWindow;
  Dc := GetWindowDC(Handle) ;
  ACanvas := TCanvas.Create;
  try
    ACanvas.Handle := DC;
    BeginPath(ACanvas.Handle) ;
    ACanvas.Font.Color := clRed;
    ACanvas.Font.Name := 'Tahoma';
    ACanvas.Font.Size := 30;
    SetBkMode(ACanvas.Handle, TRANSPARENT) ;
    EndPath(ACanvas.Handle) ;
    ACanvas.TextOut(0, 0, TextToDraw) ;
  finally
    ReleaseDC(Handle, ACanvas.Handle) ;
    ACanvas.Free;
  end;
end;
Trackback 3 Comment 0

Trackback : Cannot send a trackbact to this post.

  1. Subject different money making ideas

    Tracked from moneyideas 2010/01/29 00:11 delete

    moneyideas

  2. Subject different money making ideas

    Tracked from moneyideas 2010/01/29 08:46 delete

    moneyideas

  3. Subject different money making ideas

    Tracked from moneyideas 2010/01/31 16:39 delete

    moneyideas

2007/09/01 13:54

How to draw Transparent Text on bitmap


You can set transparent mode by calling SetBkMode function.

procedure TForm1.Button1Click(Sender: TObject);
begin
  with Image1.Picture.Bitmap.Canvas do
  begin
    Font.Color  := clBlue;
    Brush.Style := bsclear;
    Font.Size   := 13;
    TextOut(10, 10, 'Transparent Text!!');
  end;
end;

{**** Or / Oder ****}

procedure TForm1.Button1Click(Sender: TObject);
var
  OldBkMode: integer;
begin
  with Image1.Picture.Bitmap do
  begin
    Canvas.Font.Color := clBlue;
    OldBkMode         := SetBkMode(Canvas.Handle, Ord(TRANSPARENT));
    Canvas.Font.Size  := 13;
    Canvas.TextOut(10, 10, 'Transparent Text!!');
    SetBkMode(Canvas.Handle, OldBkMode);
  end;
end;

Trackback 3 Comment 0

Trackback : Cannot send a trackbact to this post.

  1. Subject different money making ideas

    Tracked from moneyideas 2010/01/29 00:25 delete

    moneyideas

  2. Subject different money making ideas

    Tracked from moneyideas 2010/01/29 08:40 delete

    moneyideas

  3. Subject different money making ideas

    Tracked from moneyideas 2010/01/31 16:45 delete

    moneyideas