Графика в Winapi

Тема в разделе "MS Visual C++", создана пользователем rezor, 25 ноя 2008.

  1. rezor

    rezor Гость

    Подскажите как сделать окно и вывести в него квадрат???
    Я в winApi не разбираюсь дайте исходник попонятней я переделаю под себя!
    Я так пытался но не выходит.
    [codebox]#define UNICODE
    #include <windows.h> // includes basic windows functionality
    #include <windowsx.h>
    #include <tchar.h>
    void DrawRectangles(HDC);
    LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
    {
    int wmId, wmEvent;
    PAINTSTRUCT ps;
    HDC hdc;
    switch (message)
    {
    case WM_COMMAND:
    wmId = LOWORD(wParam);
    wmEvent = HIWORD(wParam);

    switch (wmId)
    {
    default:
    return DefWindowProc(hWnd, message, wParam, lParam);
    }
    break;
    case WM_PAINT:
    hdc = BeginPaint(hWnd, &ps);

    EndPaint(hWnd, &ps);
    break;
    case WM_DESTROY:
    PostQuitMessage(0);
    break;
    default:
    return DefWindowProc(hWnd, message, wParam, lParam);
    }
    return 0;
    }
    int APIENTRY WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
    LPSTR lpCmdLine, int nCmdShow )
    {
    WNDCLASS wc;
    MSG Messages;

    wc.style = 0;
    wc.lpfnWndProc = (WNDPROC)WndProc;
    wc.cbClsExtra = 0;
    wc.cbWndExtra = 0;
    wc.hInstance = hInstance;
    wc.hIcon = NULL;
    wc.hCursor = LoadCursor (NULL, IDC_ARROW);
    wc.hbrBackground = (HBRUSH)(COLOR_BTNFACE+1); //не может быть NULL
    wc.lpszMenuName = L"LISTMENU";
    wc.lpszClassName = L"MonClass";
    RegisterClass( &wc );
    HWND hWndMain;


    hWndMain = CreateWindow( L"MonClass",
    L"Title",
    WS_OVERLAPPEDWINDOW,
    10, 10,
    20, 20,
    NULL, NULL, hInstance, NULL );// An unhandled win32 exception occured in PROG.EXE

    // if window could not be created, return "failure"
    if ( ! hWndMain ) {
    return NULL;
    }
    MessageBox(NULL, L"MESSAGEBOX",L"IS WORKS",MB_OK);
    ShowWindow( hWndMain, nCmdShow );
    UpdateWindow( hWndMain );

    /*!!!цикл обработки сообщений!!!*/
    while (GetMessage (&Messages, NULL, 0, 0))
    {
    TranslateMessage(&Messages);
    DispatchMessage(&Messages);
    }
    BeginPaint();
    HBRUSH hbrush, hbrushOldBrush;
    int nOldPolyFillMode;

    // Координаты вершин первого многоугольника
    POINT ptPoints1[] =
    {
    {10, 10}, {100, 310}, {40, 300},
    {300, 15}, {135, 340}, {113, 125},
    {250, 137}, {300, 300}
    };

    // Координаты вершин второго многоугольника
    POINT ptPoints2[] =
    {
    {310, 10}, {400, 310}, {340, 300},
    {600, 15}, {435, 340}, {413, 125},
    {550, 137}, {600, 300}
    };

    // Выбираем встроенную серую кисть
    hbrush = GetStockBrush(GRAY_BRUSH);
    hbrushOldBrush = SelectBrush(HDC, hbrush);

    // Рисуем первый многоугольник в режиме
    // заполнения ALTERNATE, установленном
    // по умолчанию
    Polygon(HDC, ptPoints1,
    sizeof ptPoints1 / sizeof ptPoints1[0]);
    EndPaint ();



    return Messages.wParam;

    }[/codebox]

    [codebox]1>------ Rebuild All started: Project: winapi, Configuration: Debug Win32 ------
    1>Deleting intermediate and output files for project 'winapi', configuration 'Debug|Win32'
    1>Compiling...
    1>1.cpp
    1>c:\documents and settings\стас\мои документы\visual studio 2008\projects\winapi\winapi\1.cpp(1) : warning C4005: 'UNICODE' : macro redefinition
    1> command-line arguments : see previous definition of 'UNICODE'
    1>c:\documents and settings\стас\мои документы\visual studio 2008\projects\winapi\winapi\1.cpp(21) : warning C4065: switch statement contains 'default' but no 'case' labels
    1>c:\documents and settings\стас\мои документы\visual studio 2008\projects\winapi\winapi\1.cpp(77) : error C2660: 'BeginPaint' : function does not take 0 arguments
    1>c:\documents and settings\стас\мои документы\visual studio 2008\projects\winapi\winapi\1.cpp(99) : error C2059: syntax error : ','
    1>c:\documents and settings\стас\мои документы\visual studio 2008\projects\winapi\winapi\1.cpp(104) : error C2275: 'HDC' : illegal use of this type as an expression
    1> c:\program files\microsoft sdks\windows\v6.0a\include\windef.h(267) : see declaration of 'HDC'
    1>c:\documents and settings\стас\мои документы\visual studio 2008\projects\winapi\winapi\1.cpp(106) : error C2660: 'EndPaint' : function does not take 0 arguments
    1>Build log was saved at "file://c:\Documents and Settings\Стас\Мои документы\Visual Studio 2008\Projects\winapi\winapi\Debug\BuildLog.htm"
    1>winapi - 4 error(s), 2 warning(s)
    ========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========[/codebox]
     
Загрузка...
Похожие Темы - Графика Winapi
  1. Lers
    Ответов:
    0
    Просмотров:
    1.646
  2. 203
    Ответов:
    2
    Просмотров:
    1.488
  3. bestguru
    Ответов:
    0
    Просмотров:
    914
  4. DreamForse
    Ответов:
    0
    Просмотров:
    2.219
  5. Vadik(R)
    Ответов:
    1
    Просмотров:
    1.442

Поделиться этой страницей