Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[WinAPI, C++] Wyświetlanie ListView

Ostatnio zmodyfikowano 2013-05-31 14:20
Autor Wiadomość
Yebiemieto
Temat założony przez niniejszego użytkownika
[WinAPI, C++] Wyświetlanie ListView
» 2013-05-31 13:11:51
Siema

Mam problem z tabelą:
C/C++
#include <windows.h>

LPSTR Okno = "Baza danych v0.1";
MSG Komunikat;

LRESULT CALLBACK WndProc( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam );

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
   
    WNDCLASSEX okno;
    HWND przycisk_nowy;
    HWND przycisk_otworz;
    HWND przycisk_usun;
    HWND ramka;
    HWND tabela;
   
    okno.cbSize = sizeof( WNDCLASSEX );
    okno.style = 0;
    okno.lpfnWndProc = WndProc;
    okno.cbClsExtra = 0;
    okno.cbWndExtra = 0;
    okno.hInstance = hInstance;
    okno.hIcon = LoadIcon( NULL, IDI_APPLICATION );
    okno.hCursor = LoadCursor( NULL, IDC_ARROW );
    okno.hbrBackground =( HBRUSH )( COLOR_WINDOW + 1 );
    okno.lpszMenuName = NULL;
    okno.lpszClassName = Okno;
    okno.hIconSm = LoadIcon( NULL, IDI_APPLICATION );
   
    if( !RegisterClassEx( & okno ) )
    {
        MessageBox( NULL, "Błąd", "Błąd: ",
        MB_ICONEXCLAMATION | MB_OK );
        return 1;
    }
   
    HWND hwnd;
   
    hwnd = CreateWindowEx( WS_EX_CLIENTEDGE, Okno, "Baza danych v0.1", WS_OVERLAPPEDWINDOW,
    CW_USEDEFAULT, CW_USEDEFAULT, 650, 430, NULL, NULL, hInstance, NULL );
   
    przycisk_nowy = CreateWindowEx( 0, "BUTTON", "Nowy", WS_CHILD | WS_VISIBLE,
    450, 50, 150, 30, hwnd, NULL, hInstance, NULL );
   
    przycisk_otworz = CreateWindowEx( 0, "BUTTON", "Otworz", WS_CHILD | WS_VISIBLE,
    450, 120, 150, 30, hwnd, NULL, hInstance, NULL );
   
    przycisk_usun = CreateWindowEx( 0, "BUTTON", "Usun", WS_CHILD | WS_VISIBLE,
    450, 190, 150, 30, hwnd, NULL, hInstance, NULL );
   
    RECT rcl;
    GetClientRect( hwnd, & rcl );
    tabela = CreateWindowEx( 0, WC_LISTVIEW, NULL, WS_CHILD | WS_VISIBLE | LVS_REPORT |
    LVS_EDITLABELS, 0, 0, rcl.right - rcl.left, rcl.bottom - rcl.top,
    hwnd,( HMENU ) 1000, hInstance, NULL );
   
    if( hwnd == NULL )
    {
        MessageBox( NULL, "Błąd", "Ale kicha...", MB_ICONEXCLAMATION );
        Beep( 3000, 700 );
        return 1;
    }
   
    ShowWindow( hwnd, nCmdShow );
    UpdateWindow( hwnd );
   
    while( GetMessage( & Komunikat, NULL, 0, 0 ) )
    {
        TranslateMessage( & Komunikat );
        DispatchMessage( & Komunikat );
    }
    return Komunikat.wParam;
}


LRESULT CALLBACK WndProc( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam )
{
    switch( msg )
    {
    case WM_CLOSE:
        DestroyWindow( hwnd );
        break;
       
    case WM_DESTROY:
        PostQuitMessage( 0 );
        break;
       
        default:
        return DefWindowProc( hwnd, msg, wParam, lParam );
    }
   
    return 0;
}

A tu errory:

C:\Users\Tomek\Desktop\inf\Nowy folder\Untitled1.cpp: In function `int WinMain(HINSTANCE__*, HINSTANCE__*, CHAR*, int)':
C:\Users\Tomek\Desktop\inf\Nowy folder\Untitled1.cpp:54: error: `WC_LISTVIEW' undeclared (first use this function)
C:\Users\Tomek\Desktop\inf\Nowy folder\Untitled1.cpp:54: error: (Each undeclared identifier is reported only once for each function it appears in.)
C:\Users\Tomek\Desktop\inf\Nowy folder\Untitled1.cpp:54: error: `LVS_REPORT' undeclared (first use this function)
C:\Users\Tomek\Desktop\inf\Nowy folder\Untitled1.cpp:55: error: `LVS_EDITLABELS' undeclared (first use this function)

P-84457
pekfos
» 2013-05-31 13:21:44
C/C++
#include <commctrl.h>
P-84460
Yebiemieto
Temat założony przez niniejszego użytkownika
» 2013-05-31 13:59:15
Dobra kompiluje się tylko teraz pojawia się puste okno
P-84470
Monika90
» 2013-05-31 14:20:36
Zapomniałeś o
InitCommonControls();
 Poza tym, przyciski są pod ListView, więc mogą nie być widoczne.
P-84476
« 1 »
  Strona 1 z 1