Advertisement
Skylighty

zad_dom2

Mar 13th, 2020
2,469
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <Windows.h>
  2. #include <cstdio>
  3. #include <ctime>
  4. #include <cstdlib>
  5. #include "res.h"
  6. using namespace std;
  7.  
  8. //Skrypt zasobow odpowiada za zasoby wykorzystywane w programie
  9. //Plik zasobow umieszcza sie w pliku *.rc
  10. //
  11.  
  12. int RndValue;
  13. INT_PTR CALLBACK DialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
  14. {
  15.   srand(unsigned int(time(NULL)));
  16.   char buffer[200];
  17.   switch(uMsg)
  18.   {
  19.   //=============OBSLUGA GUZIKA XD========================
  20.   case WM_COMMAND:
  21.   {
  22.     char ChRndValue[10];
  23.    
  24.     int counter = 0;
  25.     switch (HIWORD(wParam))
  26.     {
  27.     case BN_CLICKED:
  28.       switch (LOWORD(wParam))
  29.       {
  30.       //|==========================================================================================|
  31.       //|===============================-+ OBSLUGA PRZYCISKU ZGADUJ +-=============================|
  32.       //|==========================================================================================|
  33.         case IDC_BUTTON1:
  34.       {
  35.         //=============================================INICJALIACJA===========================================
  36.         char temp1_buffer[10]; //inicjalizacja bufora
  37.         HWND hwndEditBox2 = GetDlgItem(hwndDlg, IDC_EDIT2); //kontrolka editboxa
  38.         int i1TextLength = GetWindowTextLength(hwndEditBox2); //pobranie dlugosci tekstu z editboxa
  39.         GetWindowText(hwndEditBox2, temp1_buffer, i1TextLength + 1); //pobranie tekstu z editboxa do bufora
  40.         int Guess = atoi(temp1_buffer); //konwersja lancucha na liczbe calkowita
  41.         //==============WARUNKI ZGADYWANIE============
  42.         if (RndValue == Guess)
  43.         {
  44.           MessageBox(hwndDlg, "Gratulacje zgadles!", "Bravo!", MB_ICONINFORMATION | MB_OK);
  45.         }
  46.         else if (RndValue > Guess)
  47.         {
  48.           MessageBox(hwndDlg, "Wprowadziles zbyt mala liczbe!", "Sprobuj jeszcze raz", MB_ICONINFORMATION | MB_OK);
  49.         }
  50.         else if (RndValue < Guess)
  51.         {
  52.           MessageBox(hwndDlg, "Wprowadziles zbyt duza liczbe!", "Sprobuj jeszcze raz!", MB_ICONINFORMATION | MB_OK);
  53.         }
  54.         break;
  55.       }
  56.        //|==========================================================================================|
  57.        //|==========================-+ OBSLUGA WPROWADZANA LICZBY DO ZGADNIECIA +-==================|
  58.        //|==========================================================================================|
  59.       case IDC_BUTTON2:
  60.       {
  61.         char temp2_buffer[10];
  62.         HWND hwndEditBox1 = GetDlgItem(hwndDlg, IDC_EDIT1);
  63.         int i2TextLength = GetWindowTextLength(hwndEditBox1);
  64.         GetWindowText(hwndEditBox1, temp2_buffer, i2TextLength + 1);
  65.         RndValue = atoi(temp2_buffer);
  66.         wsprintf(buffer, "Wprowadzono liczbe : %d", RndValue);
  67.         MessageBox(hwndDlg, buffer, "-=+Info+=-", MB_ICONINFORMATION | MB_OK);
  68.         break;
  69.       }
  70.       //|==========================================================================================|
  71.       //|==========================-+ OBSLUGA WPROWADZANIA LICZBY LOSOWEJ +-=======================|
  72.       //|==========================================================================================|
  73.       case IDC_BUTTON3:
  74.       {
  75.         RndValue = rand() % 40 + 1;
  76.         wsprintf(ChRndValue, "%d", RndValue);
  77.         break;
  78.       }
  79.       }
  80.       break;
  81.     }
  82.     break;
  83.   }
  84.     //====================================================
  85.  
  86.     case WM_CLOSE:
  87.       DestroyWindow(hwndDlg); //Zniszczenie okienka
  88.       PostQuitMessage(0); //Umieszczenie w petli komunikator polecenia zakonczenia aplikacji
  89.       break;
  90.     case WM_DESTROY:
  91.       PostQuitMessage(0);
  92.       break;
  93.   }
  94.   return 0;
  95. }
  96.  
  97. int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int iCmdShow)
  98. {
  99.   HWND hwndMainWindow = CreateDialog(hInstance, MAKEINTRESOURCE(IDD_MAINVIEW), NULL, DialogProc);
  100.   ShowWindow(hwndMainWindow, iCmdShow);
  101.   MSG msg = {};
  102.  
  103.   //==============PĘTLA OBSŁUGI KOMUNIKATÓW========================
  104.   while(GetMessage(&msg, NULL, 0, 0))
  105.   {
  106.     TranslateMessage(&msg);
  107.     DispatchMessage(&msg);
  108.   }
  109.   //===============================================================
  110.   return 0;
  111. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement