SendMessage(LST, CB_ADDSTRING, 0, (LPARAM) "Apocalipse 13");


#if defined(UNICODE) && !defined(_UNICODE)
    #define _UNICODE
#elif defined(_UNICODE) && !defined(UNICODE)
    #define UNICODE
#endif

#include <tchar.h>
#include <windows.h>

LRESULT CALLBACK WindowProcedure(HWND, UINT, WPARAM, LPARAM);

TCHAR szClassName[ ] = _T("SendMessage");

static HWND LST;

int WINAPI WinMain(HINSTANCE hI, HINSTANCE hPI, LPSTR lpszA, int nCS) {
    HWND       hwnd;
    MSG        messages;
    WNDCLASSEX wc;

    wc.hInstance     = hI;
    wc.lpszClassName = szClassName;
    wc.lpfnWndProc   = WindowProcedure;
    wc.style         = CS_DBLCLKS;
    wc.cbSize        = sizeof(WNDCLASSEX);
    wc.hIcon         = LoadIcon (NULL, IDI_WARNING);
    wc.hIconSm       = LoadIcon (NULL, IDI_WARNING);
    wc.hCursor       = LoadCursor(NULL, IDC_ARROW);
    wc.lpszMenuName  = NULL;
    wc.cbClsExtra    = 0;
    wc.cbWndExtra    = 0;
    wc.hbrBackground = (HBRUSH) COLOR_APPWORKSPACE;

    if(!RegisterClassEx(&wc))
        return 0;

    hwnd = CreateWindowEx(
        0, szClassName, _T("Combobox"), WS_OVERLAPPEDWINDOW,
        CW_USEDEFAULT, CW_USEDEFAULT, 544, 375,
        HWND_DESKTOP, NULL, hI, NULL
    );

    ShowWindow(hwnd, nCS);

    while(GetMessage(&messages, NULL, 0, 0)) {
        TranslateMessage(&messages);
        DispatchMessage(&messages);
        FreeConsole();
    }

    return messages.wParam;
}

LRESULT CALLBACK WindowProcedure(HWND hwnd, UINT msg, WPARAM wP, LPARAM lParam) {
    switch(msg) {
        case WM_CREATE:
            LST = CreateWindow(
                "combobox",NULL,WS_CHILD|WS_TABSTOP|WS_VISIBLE|3|256|WS_VSCROLL,
                300, 140, 130, 240,
                hwnd, NULL, NULL, NULL
            );
            SendMessage(LST, CB_ADDSTRING, 0, (LPARAM) "Ezequiel 18");
            SendMessage(LST, CB_ADDSTRING, 0, (LPARAM) "Habacuque 1");
            SendMessage(LST, CB_ADDSTRING, 0, (LPARAM) "Mateus 13");
            SendMessage(LST, CB_ADDSTRING, 0, (LPARAM) "2 Pedro 3");
            SendMessage(LST, CB_ADDSTRING, 0, (LPARAM) "Naum 1");
            SendMessage(LST, CB_ADDSTRING, 0, (LPARAM) "Sofonias 1");
            SendMessage(LST, CB_ADDSTRING, 0, (LPARAM) "Apocalipse 13");
            return 0;
        case WM_DESTROY:
            PostQuitMessage(0);
            break;
        default:
            return DefWindowProc(hwnd, msg, wP, lParam);
    }
    return 0;
}

Comentários