Hallo,
erstmal vielen Dank! Das hat mir schon sehr geholfen.
Leider setzt er die NCR-Policy bei mir nicht um
Das Result ist immer false.
Bei mir sieht das so aus:
Delphi-Quellcode:
function SetNCRendering(WindowHandle: HWND; Enable: Boolean): Boolean;
var
Hr : HRESULT;
Policy : TDWMNCRENDERINGPOLICY;
begin
Result:=true;
if WinIsVista then
begin
Result:=false;
hDWMDLL:=LoadLibrary('DWMAPI.DLL');
if hDWMDLL<>0 then
begin
@DwmSetWindowAttribute:=GetProcAddress(hDWMDLL,'DwmSetWindowAttribute');
if @DwmSetWindowAttribute<>nil then
begin
if Enable then Policy:=DWMNCRP_ENABLED
else Policy:=DWMNCRP_DISABLED;
Hr:=DwmSetWindowAttribute(WindowHandle,DWMWA_NCRENDERING_POLICY,@Policy,SizeOf(Policy));
Result:=Hr=S_OK;
end;
FreeLibrary(hDWMDLL);
end;
end;
end;
Ich muss es ja vorallem aktivieren, damit ich eben in die NC Area zeichnen kann.
Er ruft die Routine auch auf, aber Hr ist leider nicht S_OK.
Eine Idee?
Gruß,
Steffen