Registriert seit: 29. Mai 2002
37.621 Beiträge
Delphi 2006 Professional
|
Re: Listview Viewstyle zur Laufzeit in List ändern
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.
|
|
Zitat
|