Please help with List View..

Why do I get this Error.. when this code was copied from MSDN why do they write something that doesn't work?

||=== Build: Debug in ListView (compiler: GNU GCC Compiler) ===|
|In function 'BOOL InitListViewColumns(HWND)':|
|32|error: cannot convert 'WCHAR [256] {aka wchar_t [256]}' to 'LPSTR {aka char*}' in assignment|
|40|error: invalid conversion from 'int' to 'LPSTR {aka char*}' [-fpermissive]|
|3900|note: initializing argument 3 of 'int LoadStringA(HINSTANCE, UINT, LPSTR, int)'|
||=== Build failed: 3 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#define _WIN32_IE 0x0300
#include <windows.h>
#include <commctrl.h>
#include "resources.h"

#define IDM_CODE_SAMPLES     1

HINSTANCE hInst;

HWND CreateListView(HWND hwnd)
{
    INITCOMMONCONTROLSEX icex;
    icex.dwICC = ICC_LISTVIEW_CLASSES;
    InitCommonControlsEx(&icex);

    HWND hWndListView = CreateWindowW(WC_LISTVIEWW, L"", WS_CHILD | LVS_REPORT,
                                     5, 5, 150, 450, hwnd, (HMENU)IDM_CODE_SAMPLES, hInst, NULL);

    return(hWndListView);
}
BOOL InitListViewColumns(HWND hWndListView)
{
    WCHAR szText[256];
    LVCOLUMN lvc;
    int iCol;

    lvc.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;

    for(iCol = 0; iCol < C_COLUMNS; iCol++)
    {
        lvc.iSubItem = iCol;
        lvc.pszText  = szText;
        lvc.cx       = 100;

        if(iCol < 2)
            lvc.fmt = LVCFMT_LEFT;
        else
            lvc.fmt = LVCFMT_RIGHT;

        LoadString(hInst, IDC_FIRSTCOLUMN, +iCol, sizeof(szText)/sizeof(szText[0]));

        if(ListView_InsertColumn(hWndListView, iCol, &lvc) == -1);
        return FALSE;
    }
    return TRUE;
}
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wp, LPARAM lp)
{
    switch(msg)
    {
    case WM_DESTROY:
            PostQuitMessage(0);
            break;
    default:
        return DefWindowProcW(hwnd, msg, wp, lp);
    }
    return 0;
}
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR args, int nCmdShow)
{
    HWND hwnd;
    WNDCLASSW wc = {0};

    wc.hbrBackground = (HBRUSH)COLOR_WINDOW + 1;
    wc.hCursor       = LoadCursor(NULL, IDC_ARROW);
    wc.hIcon         = LoadIcon(NULL, IDI_APPLICATION);
    wc.hInstance     = hInst;
    wc.lpfnWndProc   = WndProc;
    wc.lpszClassName = L"myWindowClass";

    if(!RegisterClassW(&wc))
        return -1;

    hwnd = CreateWindowW(L"myWindowClass", L"List View", WS_OVERLAPPEDWINDOW,
                         350, 120, 700, 500, NULL, NULL, NULL, NULL);

    ShowWindow(hwnd, nCmdShow);
    UpdateWindow(hwnd);

    MSG msg = {0};

    while(GetMessage(&msg, NULL, 0, 0) > 0)
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
    return 0;
}


Source: https://docs.microsoft.com/en-us/windows/win32/controls/add-list-view-columns
Ohh ok ok.. sorry about that.. I tough the beginners and Window programming are two different things on the forum.. I'll try not to screw up again.. and hey thanks for the answer, that makes sens.... I think it was late and I was a bit tired, can't believe i made a mistake like that copy and paste..:\
Registered users can post here. Sign in or register to post.