Windows Fördefinierade Controls - Del 19 Volym - Windows User Interface Introduktion Detta är en del 19 av min serie, Windows fördefinierade Controls. För att förstå denna tutorial, du helst ha läst alla tidigare tutorials i serien. I denna del av serien, ser vi hur man skapar en listruta. Obs: Om du inte kan se koden, eller om du tror att något saknas (bruten länk, bild frånvarande), bara att kontakta mig på [email protected]. Det vill säga, kontakta mig för minsta problem du har om vad du läser.
En listruta En listruta är en kontroll som har en lista med objekt som användaren kan välja mellan. Användaren väljer ett objekt genom att markera det. Användaren väljer ett objekt genom att klicka på den. Det är möjligt att välja ett alternativ med hjälp av tangentbordet, men jag kommer inte gå in på det. I den här artikelserien ska vi prata om listrutor vars objekt är strängar (text). En listruta kan ge rullningslister om objekten är alltför många för utrymmet för antalet artiklar. Välja ett listobjekt ändrar textfärg och bakgrundsfärg.
Skapa en listruta Du kan skapa en listruta med hjälp av CreateWindowEx funktionen. Klassen är, listboxen. Glöm inte att skriva WS_CHILD eftersom det är ett underordnat fönster. Tänk på att en listruta är en kontroll och det behöver sin unika heltal identifierare. Typer av listrutor Det finns två typer av listrutorna: single-val och fler val. Single-val är standard. I en enda urvalslistrutan, kan användaren välja endast ett objekt i taget. I en flerurvalslistruta, kan användaren välja mer än ett objekt i taget. Om du vill att listrutan flera val, använder LBS_EXTENDEDSEL stil.
Du behöver inte skriva någon speciell stil för listrutan enda val. Coding Du kan skapa en listruta med hjälp av CreateWindowEx funktionen. Efter att du måste skicka varje objekt sträng till lådan med hjälp av sendmessage funktionen. I denna serie har vi att göra med strängar som poster i listrutan. Budskapet att lägga en sträng till en listruta är LB_ADDSTRING. Detta meddelande lägger en sträng till en listruta. Om listan rutan inte har LBS_SORT stil, är strängen läggs till i slutet av listan. Annars är strängen in i listan och listan sorteras.
Den wParam parametern inte används (ställ in den till NULL). Den lParam parametern är en pekare till noll-terminerade sträng som ska läggas. Returvärdet är listrutan nollbaserade index för det tillsatta strängen. Om ett fel inträffar, är returvärdet LB_ERR. Om det inte finns tillräckligt utrymme för att lag