Thema: Delphi DrawText nur Hwnd

Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#5

Re: DrawText nur Hwnd

  Alt 6. Feb 2007, 12:13
Zitat von Luckie:
Nachtrag: ReleaseDC nicht vergessen!
Ja habs mir gedacht denn der Canvas zeichnet nicht immer neu

Trotzdem wie schon bei anderen!
Das problem ist nun das die schrift flackert.

Mit WM_PAINT ließ es sich leider nicht verwirklichen.

Kann leider da mit Bitmaps erstellen nicht viel machen da ich keine Form verwende.
Was gäbe es da noch?


Habs mal mit TextOut versucht

Delphi-Quellcode:
procedure Overlay(handle: HWND; Text: PChar);
var
  DC: HDC;
  OCanvas: TCanvas;
begin
  DC := GetDC(handle);
  OCanvas := TCanvas.Create;
  OCanvas.Handle := DC;

  BeginPath(OCanvas.Handle);
  OCanvas.Font.Color := clwhite;
  OCanvas.Font.Name := 'Arial';
  OCanvas.Font.Size := 8;
  SetBkMode(OCanvas.Handle,TRANSPARENT);
  EndPath(OCanvas.Handle);

  OCanvas.TextOut(0, 0, Text);
  ReleaseDC(handle, dc);
end;
EDIT:
Da ich eh die Unit Graphics einfügen mußte
Kann ich auch direkt über canvas gehen
Allerdings ändert auch die procedure nix am Flackern.

Theoretisch müßte ich ein Bitmap Transparent auf das Fenster(hwnd) zeichen in dem dann die Schrift
dargestellt wird.
Nur die frage ob sich das dann auch beim neuzeichnen löscht.
Da es ja auch nur auf den dc gezeichnet wird.

gruß
  Mit Zitat antworten Zitat