AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

UpdateLayeredWindow - DrawThemeTextEx

Ein Thema von sonny2007 · begonnen am 12. Sep 2017
Antwort Antwort
sonny2007

Registriert seit: 27. Aug 2009
39 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

UpdateLayeredWindow - DrawThemeTextEx

  Alt 12. Sep 2017, 22:47
Hallo Delphianer,

ich stehe vor einem kleinen Problem.
Mein Ziel ist es Schrift mit GlowEffect oder weichem Schatten zu zeichnen.

Dazu benutze ich DrawThemeTextEx mit UpdateLayeredWindow.
An sich funktioniert es scheinbar , nur das Ergebnis läßt zu wünschen übrig.

Auf dunklem Hintergrund sieht es folgendermassen aus - so wie gewollt.
https://imgur.com/a/jiVYd

Auf weißem Hintergrund sieht es dann folgendermassen aus - so wie ich es nicht möchte .
https://imgur.com/a/fPSKn

Der weiße hintergrund stammt von einem anderen Fenster.

Hier der verwendetete Code.
Delphi-Quellcode:
var
  R: TRect;
  ThemeData: HTHEME;
  Opts: TDTTOpts;
begin
  R := Rect(10, 10, 150, 30);

  OffsetRect(R, 10, 0);
  ThemeData := OpenThemeData(Handle, 'WINDOW');

  Opts.dwSize := SizeOf(Opts);
  Opts.crText := clREd;
  Opts.iTextShadowType := TST_CONTINUOUS;
  Opts.ptShadowOffset := Point(1, 1);
  Opts.fApplyOverlay := true;
  Opts.iGlowSize := 1;

  Opts.dwFlags := DTT_TEXTCOLOR or DTT_SHADOWTYPE or DTT_SHADOWCOLOR
      or DTT_SHADOWOFFSET or DTT_GLOWSIZE;

  DrawThemeTextEx(0, Bitmap.Canvas.Handle, TEXT_BODYTITLE, TS_NEARHOT,
      'Dies ist ein Test', -1, 0, @R, Opts);

  CloseThemeData(ThemeData);

  SetWindowPos(Handle, HWND_TOPMOST, Left, Top, Width, Height, SWP_NOACTIVATE or
    SWP_NOMOVE or SWP_NOSIZE);

  UpdateLayeredWindow(Handle, 0, nil, @BitmapSize, Bitmap.Canvas.Handle,
    @BitmapPos, 0, @BlendFunction, ULW_ALPHA);
Wie kann ich so etwas vermeiden ?

Grüße
sOn
Miniaturansicht angehängter Grafiken
kcrmpyh.png   tjxdvtv.png  

Geändert von mkinzler (13. Sep 2017 um 08:20 Uhr) Grund: Bilder von externen Hoster als Anhang an Beitrag angefügt
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz