![]() |
UpdateLayeredWindow - DrawThemeTextEx
Liste der Anhänge anzeigen (Anzahl: 2)
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. ![]() Auf weißem Hintergrund sieht es dann folgendermassen aus - so wie ich es nicht möchte :). ![]() Der weiße hintergrund stammt von einem anderen Fenster. Hier der verwendetete Code.
Delphi-Quellcode:
Wie kann ich so etwas vermeiden ?
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); Grüße sOn |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:02 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz