Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Listview Viewstyle zur Laufzeit in List ändern

  Alt 22. Feb 2010, 23:42
Probier mal das:
Delphi-Quellcode:
procedure SetView(const hLV: HWND; dwView: dword);
var
  dwStyle : dword;
begin
  // unter Win XP wird ein neuer Befehl benutzt,
  // mit dem sich u.a. auch der Tile-View (Kacheln)
  // einschalten lässt
  if (IsWindowsXP) or (IsWindowsVista) then
  begin
    case dwView of
      LVS_ICON:
        ListView_SetView(hLV,LV_VIEW_ICON);
      LVS_SMALLICON:
        ListView_SetView(hLV,LV_VIEW_SMALLICON);
      LVS_LIST:
        ListView_SetView(hLV,LV_VIEW_LIST);
      LVS_REPORT:
        ListView_SetView(hLV,LV_VIEW_DETAILS);
      666:
        ListView_SetView(hLV,LV_VIEW_TILE);
    end;
  // kein Win XP -> dann den bekannten Weg anhand
  // des Codes, der vom PSDK nach Delphi umgesetzt
  // wurde
  end else begin
    dwStyle := GetWindowLong(hLV,GWL_STYLE);

    if(dwStyle and LVS_TYPEMASK <> dwView) then
      SetWindowLong(hLV,GWL_STYLE,
      (dwStyle and not LVS_TYPEMASK) or dwView);
  end;
end;
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat