• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Błąd podczas dodawania okienka informacyjnego Visual studio 2015

VPS Starter Arubacloud
0 głosów
146 wizyt
pytanie zadane 8 października 2016 w C i C++ przez maciek221 Początkujący (300 p.)
edycja 8 października 2016 przez maciek221

Witam mam problem z dodaniem okienka z komunikatem które by powodowało wyświetlenia zwykłego pustego okna, o to kod programu

 

 

#include <windows.h>

LPSTR Klasa = "Klasa Okienka";
MSG Komunikat;

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

int WINAPI WinMain(HINSTANCE hInstance,
    HINSTANCE hPrevInstance,
    LPSTR lpCmdLine, int nCmdShow)

    MessageBox(NULL, "Oto okienko informacyjne!",
        "Komunikat", NULL);
if (UINT uDecyzja = MessageBox(NULL, "Czy chcesz zobaczyc okno Windows ?",
    "Wybor", MB_YESNO | MB_ICONQUESTION))
{
    switch (uDecyzja)
    {
    case IDYES:
        // odpowied? pozytywna
        break;
    case IDNO:
        return 0;
        // odpowied? negatywna
        break;
    }
}
else

 

 

    
{

    // WYPEŁNIANIE STRUKTURY
    WNDCLASSEX a;

    a.cbSize = sizeof(WNDCLASSEX);
    a.style = 0;
    a.lpfnWndProc = komunikaty;
    a.cbClsExtra = 0;
    a.cbWndExtra = 0;
    a.hInstance = hInstance;
    a.hIcon = LoadIcon(NULL, IDI_APPLICATION);
    a.hCursor = LoadCursor(NULL, IDC_ARROW);
    a.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
    a.lpszMenuName = NULL;
    a.lpszClassName = Klasa;
    a.hIconSm = LoadIcon(NULL, IDI_APPLICATION);

    // REJESTROWANIE KLASY OKNA
    RegisterClassEx(&a);
    

 

    // TWORZENIE OKNA
    HWND hwnd;

    hwnd = CreateWindowEx(WS_EX_CLIENTEDGE, Klasa, "Okienko", WS_OVERLAPPEDWINDOW,
        CW_USEDEFAULT, CW_USEDEFAULT, 240, 120, NULL, NULL, hInstance, NULL);

 

    ShowWindow(hwnd, nCmdShow); // Pokaż okienko...
    UpdateWindow(hwnd);

    // Pętla komunikatów
    while (GetMessage(&Komunikat, NULL, 0, 0))
    {
        TranslateMessage(&Komunikat);
        DispatchMessage(&Komunikat);
    }
    return Komunikat.wParam;
}

// OBSŁUGA ZDARZEŃ
LRESULT CALLBACK komunikaty(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;
}

 

1 odpowiedź

0 głosów
odpowiedź 9 października 2016 przez maciek221 Początkujący (300 p.)
Jak prawidłowo dodać komunikat za pomocą MassageBox aby nie wywalało mi błędu ??

Podobne pytania

0 głosów
2 odpowiedzi 3,501 wizyt
0 głosów
1 odpowiedź 736 wizyt
pytanie zadane 13 lutego 2016 w C i C++ przez Armando Obywatel (1,870 p.)

92,970 zapytań

141,934 odpowiedzi

321,168 komentarzy

62,299 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...