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;
}