Thema: Delphi desktopViewMode

Einzelnen Beitrag anzeigen

Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#2

Re: desktopViewMode

  Alt 24. Feb 2008, 17:03
Hallo

Ich habe mal geschaut, wie es Wintidy macht und bin zu diesen Code gekommen.
Ein vollständiges Beispiel befindet sich im Anhang.

Delphi-Quellcode:
procedure SetDesktopStyle(AViewMode: TViewStyle);
const
  STYLES: array[TViewStyle] of DWORD = (LVS_ICON, LVS_SMALLICON, LVS_LIST, LVS_REPORT);
var
  S: StyleStruct;
  lvHan: HWND;
begin
  if IsActiveDesktop then Exit;
  lvHan := GetlvHan;
  if lvHan <> 0 then
  begin
    S.StyleOld := GetWindowLong(lvHan, GWL_STYLE);
    S.StyleNew := S.StyleOld and not LVS_TYPEMASK;
    S.StyleNew := S.StyleNew or STYLES[AViewMode];
    SetWindowLong(lvHan, GWL_STYLE, S.StyleNew);
    SendMessage(lvHan, WM_STYLECHANGED, GWL_STYLE, Integer(@S));
    ShowWindow(lvHan, SW_SHOWNORMAL);
  end;
end;
Angehängte Dateien
Dateityp: zip project1_180.zip (217,8 KB, 21x aufgerufen)
Thomas
  Mit Zitat antworten Zitat