cbClsExtra = 0; wcx.cbWndExtra = 0; wcx.hInstance = hinstance; wcx.hIcon = NULL; wcx.hCursor = LoadCursor (NULL, IDC_ARROW); wcx.hbrBackground = (HBRUSH) (COLOR_BACKGROUND + 1); wcx.lpszMenuName = NULL; wcx.lpszClassName = "MainWClass"; wcx.hIconSm = NULL; RegisterClassEx (& wcx); HWND hwndMain; hwndMain = CreateWindowEx (0, "MainWClass", "Huvudfönstret", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hinstance, NULL); if (hwndMain!) return false; Showwindow (hwndMain, SW_SHOW); UpdateWindow (hwndMain); const char * str1 = "den första strängen.
"; const char * str2 = "den andra strängen."; const char * str3 = "den tredje strängen."; const char * str4 = "den fjärde strängen."; const char * str5 = "den femte strängen."; HWND hwndLst; hwndLst = CreateWindowEx (0, "listboxen", NULL, WS_CHILD, 100, 100, 100, 150, hwndMain, (HMENU) 1, hinstance, NULL); Showwindow (hwndLst, SW_SHOW); UpdateWindow (hwndLst); Sendmessage (hwndLst, LB_ADDSTRING, NULL, (lParam) str1); Sendmessage (hwndLst, LB_ADDSTRING, NULL, (lParam) str2); Sendmessage (hwndLst, LB_ADDSTRING, NULL, (lParam) str3); Sendmessage (hwndLst, LB_ADDSTRING, NULL, (lParam) str4); Sendmessage (hwndLst, LB_ADDSTRING, NULL, (lParam) str5); MSG msg; BOOL BRET; while ((Bret = GetMessage (& msg, hwndMain, 0, 0)) = 0!) {if (Bret == -1) {//hantera felet och eventuellt avsluta programmet} else {TranslateMessage (& msg); DispatchMessage (& msg); }} Återvända msg.
wParam; } Du kan använda följande kommando vid kommandotolken för att kompilera koden: g ++ winlst.cpp -mwindows -o winlst.exe Listrutan skapats av ovanstående kod är en enda urvalslistrutan. Du kan inte ha mer än ett objekt vald (markerad). Du kan lägga till rullningslister med hjälp av Windows stilar, WS_VSCROLL och /eller WS_HSCROLL (se nedan). Skapa Flera Val listrutan för att skapa en enda urvalslistrutan du inte behöver någon speciell stil för