Problemer med ListView

Tags:    c++

Hej igen allesammen,
sidst jeg postede søgte jeg hjælp til en control, der viste sig at være en ListView. Jeg er nu kommet så langt at jeg har oprettet en ListVire, samt indsætte værdier i items og subitems. Mit problem er nu bare at når jeg trykker, så er det kun det første item der bliver markeret, der sker intet andet på rækken - og det er også kun det første (ud af en række på fire) at man kan trykke på.

Jeg har fundet ud af at mange bruger dette trick;
Fold kodeboks ind/udKode 

Hvilket der skulle gøre at når man trykker så bliver hele rækken markeret, som navnet i sig selv også siger. Derudover har jeg også fundet denne funktion, i Bertel Brander's kode - fra mit tidligere spørgsmål;
Fold kodeboks ind/udKode 

Er det måske også noget med denne kode at gøre?
Jeg har prøvet med begge, men jeg får fejl ved dem alle;
Fold kodeboks ind/udKode 

Alle er de "undeclared", altså at de ikke er deklarerede og ikke findes. Jeg inkluderer commctrl, samt linker til comctl32, men det hjælper tilsyneladende ikke. Jeg har slået dem alle op på MSDN. Der er ingen, der under "Minimum operating systems", indeholder "Windows XP", hvilket jeg kører. Ja, jeg ved godt at det er "minimum", men anyway, har det en betydning?
Er de alle forældet? Hvis ja, hvad er alternativerne så?
Hvis nej, hvad gør jeg så galt?

Håber I kan hjælpe mig.



Indlæg senest redigeret d. 13.02.2007 16:17 af Bruger #8422
Prøv at tilføje denne linje som det første i .cpp filen:

#define _WIN32_IE 0x0501



Hej Bertel,
tusind tak for det lille trick!

Kan du forklare hvorfor dette skal gøres, før at det virker?
Kan godt regne ud at det bliver tjekket en gang i filen, men hvorfor - hvorfor er det ikke som default?



Kompileren forsøger at gætte hvad der skal være default. Den sætter den sandsynligvis til en værdi der gør at dit program kan køre på alle windows versioner (siden Win95).

Ved at lave den define enabler du nogle ting der kun findes på nyere versioner af Internet Explorer og/eller windows. Men det gør at dit program ikke kan køre på meget gamle versioner af windows/ie.

Se også:
http://msdn2.microsoft.com/en-us/library/aa383745.aspx



t