AGB  ·  Datenschutz  ·  Impressum  







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

DWM Shadow

Ein Thema von EWeiss · begonnen am 18. Mär 2017 · letzter Beitrag vom 18. Mär 2017
 
EWeiss
(Gast)

n/a Beiträge
 
#2

AW: DWM Shadow

  Alt 18. Mär 2017, 23:16
So geht es.
Delphi-Quellcode:
function TSkinEngine.EnableShadow(WinHandle: hWnd): HRESULT;
var
  Policy: LongInt;
begin

  Result := -1;
  if IsCompositionEnabled then
  begin
    Policy := DWMNCRP_ENABLED;
    DwmSetWindowAttribute(WinHandle, DWMWA_NCRENDERING_POLICY, @Policy, SizeOf(Policy));

    Result := DWM_ExtendFrameIntoClientArea(WinHandle, -1, -1, -1, -1);
  end;
end;
irgendwie erschließt sich das mir nicht.
Meiner Meinung nach wäre das richtig.
Delphi-Quellcode:
var
  Policy: TDWMNCRENDERINGPOLICY;
Dann bekomme ich aber keinen Schatten.

Bei dieser Version gibt es aber auch wieder ein Problem.
Sobald ich ein anderes Fenster öffne verschwindet der Schatten von meinem Window.

Seltsam das ganze.

Auch das ist seltsam funktioniert genauso mit dem vorher genannten Problem

DwmSetWindowAttribute(WinHandle, DWMWA_NCRENDERING_POLICY, @Policy, DWMWA_ALLOW_NCPAINT);

Irgendwie weis keiner was nun richtig übergeben werden muss.
Sobald irgendein anderes Fenster aktiviert wird ist der Schatten weg. (Auch das der IDE)

gruss

Geändert von EWeiss (18. Mär 2017 um 23:22 Uhr)
  Mit Zitat antworten Zitat
 


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 13:35 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