Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi SysListView32 sortiert automatisch (https://www.delphipraxis.net/6035-syslistview32-sortiert-automatisch.html)

Chewie 26. Jun 2003 22:14


SysListView32 sortiert automatisch
 
Ich glaub es liegt am Bier, aber ich komm einfach nicht drauf... :roll:

Ich hab ein SysListView32-Control. Ich füge einfach 10 Zahlen hinzu, von 1 bis 10. Das Control wird so erzeugt:
Delphi-Quellcode:
hIncIPView := CreateWindowEx(WS_EX_CLIENTEDGE, 'SysListView32', nil,
          WS_VISIBLE or WS_CHILD or LVS_REPORT or LVS_EX_FULLROWSELECT, 15, 40,
          465, 150, hWnd, IDC_INCIPVIEW, hInstance, nil);
Ich hab mehrere Spalten; in die erste Spalte werden Werte eingefügt:
Delphi-Quellcode:
for i := 1 to 10 do
      begin
        LVItem.mask := LVIF_TEXT; //LVItem vom Typ TLVItem
        LVItem.iItem := i;
        LVItem.pszText := PChar(InttoStr(i));
        SendMessage(hIncIPView, LVM_INSERTITEM, 0, Integer(@LVItem));
      end;

      Inc(packIndex);
In der Listview sieht es so aus:
Code:
9
8
7
6
5
4
3
2
10
1
Also absteigende Sortierung. Nur warum? Ich habe doch keine Sortierung angegeben.

MathiasSimmack 27. Jun 2003 07:23

Re: SysListView32 sortiert automatisch
 
Zitat:

Zitat von Chewie
Ich glaub es liegt am Bier, ...

Also: Aufhören mit dem Saufen. :wink:

Zitat:

Also absteigende Sortierung. Nur warum? Ich habe doch keine Sortierung angegeben.
Das nicht, aber du hast ein Stilattribut angegeben, dass da nicht reingehört:

Zitat:

Code:
hIncIPView := CreateWindowEx(WS_EX_CLIENTEDGE, 'SysListView32', [b]nil[/b],
  WS_VISIBLE [b]or[/b] WS_CHILD [b]or[/b] LVS_REPORT [b]or[/b] [color=red]LVS_EX_FULLROWSELECT[/color], 15, 40,
  465, 150, hWnd, IDC_INCIPVIEW, hInstance, [b]nil[/b]);

Hättest du dir mal lieber Luckies LV-Demo angesehen. Die LVS_EX_xxx-Stile werden grundsätzlich so übergeben:
Delphi-Quellcode:
SendMessage(hLV,LVM_SETEXTENDEDLISTVIEWSTYLE,0,
  LVS_EX_HEADERDRAGDROP or LVS_EX_FULLROWSELECT);

MathiasSimmack 27. Jun 2003 07:33

Kleine Ergänzung:
Zitat:

Also absteigende Sortierung. Nur warum? Ich habe doch keine Sortierung angegeben.
Wenn man es ganz genau nimmt, dann hast du eine Sortierung benutzt:
Zitat:

Zitat von PSDK (CommCtrl.h)
Code:
#define LVS_SORTDESCENDING     0x0020
#define LVS_EX_FULLROWSELECT   0x00000020 // applies to report mode only

:mrgreen:

Chewie 27. Jun 2003 10:03

OK, vielen Dank, Matthias.
Nur was macht es so einen Unterschied, wenn die LVS_EX_...-Stile nicht am Anfang, sondern anschließend übergeben werden?

Luckie 27. Jun 2003 10:10

Du hast einen erweiterten Stil (LVS_EX__...) bei den normalen Stilen (LVS_...) mit angegeben und das verträgt sich eben nicht bzw. führt zu ungewollten Verhalten des Kontrolls, wie du siehst.

Chewie 27. Jun 2003 10:20

Ach so, jetzt wirds mir klar.
Ich hab mich die ganze Zeit gewundert, warum LVS_SORTDESCENDING augenscheinlich das gleiche ist wie LVS_EX_FULLROWSELECT. Aber wenn man ersteres bei der Erstellung und zweiteres erst anschließend setzt, dann kann es unterschieden werden.

Und wieder was gelernt. :D Oder besser gesagt, wieder einmal festgestellt, dass es einen guten Grund hat, warum Luckie in den Tutorials etwas auf scheinbare umständliche Art und Weise tut. :shock:

Jens Schumann 27. Jun 2003 10:25

Hallo,
Zitat:

Hättest du dir mal lieber Luckies LV-Demo angesehen. Die LVS_EX_xxx-Stile werden grundsätzlich so übergeben:
Wo finde ich dieses Demo ?

Luckie 27. Jun 2003 10:29

Auf meiner Homepage. :wink: Einfach nur den richtigen Button unter dem Posting treffen und das Wunder des WWW wird dich in Windeseile zu meiner Homepage tragen. :mrgreen:

Jens Schumann 27. Jun 2003 10:32

Hallo,
habe Deine Homepage gefunden. Wo finde ich das Demo auf Deiner Homepage ?

Luckie 27. Jun 2003 10:48

Hm, jetzt mach mich nicht irre. Ist dass so schwer zu finden? Ganz oben ist eine Tabelle Tutorials. In der ersten Spalte sind die Downloads und in der Spalte Beschreibung findest du zwei Links: Inhalt (also was im Download drin ist) und Online lesen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:51 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz