xor hm, dann müsste man noch auf den Style prüfen ob er enthalten ist etc.
@xaromz, ich würde deine Funktion anders benennen:
Delphi-Quellcode:
function WindowShadow(
const Handle: THandle; Mode: Boolean): Boolean;
function IsXP: Boolean;
begin
Result := (Win32Platform = VER_PLATFORM_WIN32_NT)
and
CheckWin32Version(5, 1);
end;
const
SPI_SETDROPSHADOW = $1025;
CS_DROPSHADOW = $00020000;
var
ClassLong: Cardinal;
begin
if IsXP
and SystemParametersInfo(SPI_SETDROPSHADOW, 0, Pointer(TRUE), 0)
then
begin
ClassLong := GetClassLong(
Handle, GCL_STYLE);
if Mode
then ClassLong := ClassLong
or CS_DROPSHADOW
else ClassLong := ClassLong
and not CS_DROPSHADOW;
Result := SetClassLong(
Handle, GCL_STYLE, ClassLong) <> 0;
if Result
then
SendMessage(
Handle, CM_RECREATEWND, 0, 0);
end else
Result := False;
end;
... mal sehen wie es mit dem XOR-Dinges
werden könnte...