Hirdetés

Új hozzászólás Aktív témák

  • Tomi_78

    tag

    válasz dabadab #4307 üzenetére

    Aha. Hát... ezt nem tudtam. Akkor volt egy kis félreértés részemről :B .
    Most egyébként próbáltam leegyszerűsíteni a programomat, már ami a Device Context (DC) beállításokat illeti. Ahogy olvastam a "Borland C++ Builder 6 Developer's Guide" című könyvben, a DC az a grafikus eszközillesztőhöz való hozzáférést biztosító kezelő(?). Tehát ez mindenképpen kell a rajzolásokhoz (itt volt a félreértés, mert azt hittem, hogy te valami kívülről származó eljáráskönyvtárról írtál, amit állítólag használok a progimban, ez meg alapban benne van a C++-ban).
    Szóval, a következőképpen fest most egy kis programom, de valami nem jó benne, mert a default ágra mutatva a következő hibaüzenetet írja:
    F:\progsetup\codeblocks-17.12mingw-nosetup\sajatok\ablakosrajz\Rajz\main.cpp|103|error: jump to case label [-fpermissive]|
    Röviden el tudnátok mondani, hogy mi a baj vele, vagy hogy mi hiányzik belőle? Pedig a könyv alapján csináltam, de így sem jó.
    int kockax=50, kockay=5;
    (...)
    LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
    {
        switch (message)                  /* handle the messages */
        {
            case WM_KEYDOWN:
                switch (wParam) {
                    case VK_LEFT: kockax-=4; InvalidateRect(hwnd, NULL, true); break;
                    case VK_RIGHT: kockax+=4; InvalidateRect(hwnd, NULL, true); break;
                    case VK_UP: kockay-=4; InvalidateRect(hwnd, NULL, true); break;
                    case VK_DOWN: kockay+=4; InvalidateRect(hwnd, NULL, true); break;
                }
            break;
            case WM_PAINT:
                HDC grafikakezelo = GetDC(hwnd);
                Rectangle(grafikakezelo,kockax,kockay,40,40);
                ReleaseDC(hwnd,grafikakezelo);
            break;
            case WM_DESTROY:
                PostQuitMessage (0);       /* send a WM_QUIT to the message queue */
                break;
            default:                      /* for messages that we don't deal with */
                return DefWindowProc (hwnd, message, wParam, lParam);
        }
        return 0;
    }

Új hozzászólás Aktív témák