Einzelnen Beitrag anzeigen

Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#6

Re: [Schattiere Fenster] - Schattierung ein/aus schalten

  Alt 9. Apr 2007, 12:03
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...
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat