Advertisement
Guest User

Untitled

a guest
Dec 16th, 2018
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.24 KB | None | 0 0
  1. // Kontrolki2.cpp : Definiuje punkt wejścia dla aplikacji.
  2. //
  3. #include <windows.h>
  4. #include <stdio.h>
  5. #include <list>
  6. #include <string.h>
  7. #include <atlstr.h>
  8. #define IDC_COMBOBOX 3
  9.  
  10. //using namespace std;
  11. TCHAR NazwaAplikacji[] = TEXT("Aplikacja studencka");
  12. TCHAR NazwaKlasy[] = TEXT("OKNOGLOWNE");
  13. HINSTANCE hInstance;
  14. HWND hwnd[10];
  15. int width;
  16. int x_last=10, y_last=10;
  17. bool zaznacz = false;
  18. //CString imie, nazwisko;
  19. CString bigvar;
  20. void Init_ComboBox_Ele()
  21. {
  22. for(int i=0;i<10;i++)
  23. {
  24. TCHAR ele[200];
  25. sprintf_s(ele,"%d",i);
  26. SendMessage(hwnd[3],CB_ADDSTRING,0,(LPARAM)ele);
  27. }
  28.  
  29. }
  30. static LRESULT CALLBACK Penis(HWND Okno, UINT Komunikat, WPARAM wParam, LPARAM lParam)
  31. {
  32. static int cxClient, cyClient;
  33.  
  34. PAINTSTRUCT PS;
  35. RECT Rect;
  36. HDC hdc;
  37. GetClientRect(Okno, &Rect);
  38.  
  39. switch (Komunikat) {
  40. case WM_CREATE:
  41. {
  42. GetClientRect(Okno,&Rect);
  43. int x = (Rect.right/2);
  44. int y = (Rect.bottom/2);
  45. hwnd[1] = CreateWindowEx(WS_EX_CLIENTEDGE,TEXT("EDIT"), NULL,WS_CHILD | WS_VISIBLE | WS_BORDER,x-100,y,100,50,Okno,(HMENU)1,hInstance,NULL);
  46. hwnd[2] = CreateWindowEx(WS_EX_CLIENTEDGE,TEXT("EDIT"), NULL,WS_CHILD | WS_VISIBLE | WS_BORDER,x+50,y,100,50,Okno,(HMENU)2,hInstance,NULL);
  47. hwnd[3] = CreateWindowEx(WS_EX_CLIENTEDGE,TEXT("COMBOBOX"),NULL,WS_CHILD | WS_VISIBLE | WS_BORDER | CBS_DROPDOWN, x+200,y,100,300,Okno,(HMENU)3,hInstance, NULL);
  48. hwnd[4] = CreateWindowEx(WS_EX_CLIENTEDGE,TEXT("STATIC"), NULL,WS_CHILD | WS_VISIBLE | WS_BORDER,x,y+200,300,150,Okno,(HMENU)4,hInstance,NULL);
  49. hwnd[5] = CreateWindowEx(WS_EX_CLIENTEDGE,TEXT("BUTTON"), TEXT("POTWIERDZ"),WS_CHILD | WS_VISIBLE | WS_BORDER,x+350,y,100,50,Okno,(HMENU)5,hInstance,NULL);
  50. hwnd[6] = CreateWindowEx(WS_EX_CLIENTEDGE,TEXT("BUTTON"), TEXT("CZY EKSTRA PASIERB?"),WS_CHILD | WS_VISIBLE | WS_BORDER | BS_CHECKBOX,x+200,y+150,300,50,Okno,(HMENU)6,hInstance,NULL);
  51. Init_ComboBox_Ele();
  52. }
  53. break;
  54. case WM_COMMAND:
  55. {
  56. switch(LOWORD(wParam))
  57. {
  58. case 6:
  59. {
  60. if(zaznacz==false)
  61. {
  62. SendDlgItemMessage(Okno,6,BM_SETCHECK,1,0);
  63. zaznacz = true;
  64. }
  65. else
  66. {
  67. SendDlgItemMessage(Okno,6,BM_SETCHECK,0,0);
  68. zaznacz = false;
  69. }
  70.  
  71. }break;
  72.  
  73. case 5:
  74. {
  75. TCHAR imie[200], nazwisko[200];
  76. DWORD len1 = GetWindowTextLength(hwnd[1]);
  77.  
  78. GetWindowText(hwnd[1],imie,len1+1);
  79. DWORD len2 = GetWindowTextLength(hwnd[2]);
  80. GetWindowText(hwnd[2],nazwisko,len2+1);
  81. TCHAR t[10];
  82. GetDlgItemText(Okno,3,t,3);
  83. CString temp;
  84. if(zaznacz)
  85. {
  86. temp=_T("Tak");
  87. }
  88. else temp = _T("NIE");
  89. if(bigvar.IsEmpty())
  90. {
  91. bigvar += _T("Imie: ");
  92. bigvar += imie;
  93. bigvar += _T(" Nazwisko: ");
  94. bigvar += nazwisko;
  95. bigvar += _T(" ILE OSÓB: ");
  96. bigvar += t;
  97. bigvar += _T(" PASIERB? ");
  98. bigvar += temp;
  99. }else
  100. {
  101.  
  102. bigvar += _T("\nImie: ");
  103. bigvar += imie;
  104. bigvar += _T(" Nazwisko: ");
  105. bigvar += nazwisko;
  106. bigvar += _T(" ILE OSÓB: ");
  107. bigvar += t;
  108. bigvar += _T(" PASIERB? ");
  109. bigvar += temp;
  110. }
  111. SetWindowText(hwnd[4],bigvar);
  112.  
  113. }break;
  114. }
  115. }
  116. break;
  117. case WM_DESTROY:
  118. KillTimer(Okno, 1);
  119. PostQuitMessage(0);
  120. break;
  121.  
  122. case WM_SIZE:
  123. {
  124. //cxClient = LOWORD(lParam)/2;
  125. //cyClient = HIWORD(lParam)/2;
  126. //MoveWindow(hwnd[1],cxClient-100,cyClient,100,50, TRUE);
  127. //MoveWindow(hwnd[2],cxClient+50,cyClient,100,50,TRUE);
  128. ////MoveWindow(hwnd[3],cxClient,cyClient+100,100,50,TRUE);
  129. return 0;
  130. }
  131. default:
  132. return DefWindowProc(Okno, Komunikat, wParam, lParam);
  133. }
  134. return 0;
  135.  
  136.  
  137. }
  138.  
  139. static bool RejestrujKlasy()
  140. {
  141. WNDCLASSEX wc;
  142. wc.cbSize = sizeof(WNDCLASSEX);
  143. wc.cbClsExtra = wc.cbWndExtra = 0;
  144. wc.hbrBackground = (HBRUSH)CreateSolidBrush(RGB(0, 0, 128));
  145. wc.hCursor = LoadCursor(NULL, IDC_ARROW);
  146. wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
  147. wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
  148. wc.hInstance = GetModuleHandle(NULL);
  149. wc.lpfnWndProc = &Penis;
  150. wc.lpszClassName = NazwaKlasy;
  151. wc.lpszMenuName = NULL;
  152. wc.style = 0;
  153. return (RegisterClassEx(&wc) != 0);
  154. }
  155.  
  156. static void WyrejestrujKlasy()
  157. {
  158. UnregisterClass(NazwaKlasy, GetModuleHandle(NULL));
  159. }
  160.  
  161. int WINAPI WinMain(HINSTANCE Instancja, HINSTANCE Poprzednia, LPSTR Parametry, int Widocznosc)
  162. {
  163. // Zarejestruj klasę. Protestuj, jeżeli wystąpił błąd.
  164. if (!RejestrujKlasy()) {
  165. MessageBox(NULL, TEXT("Nie udało się zarejestrować klasy okna!"),
  166. NazwaAplikacji, MB_ICONSTOP | MB_OK);
  167. return 1;
  168. }
  169. // Stwórz główne okno. Również protestuj, jeżeli wystąpił błąd.
  170. HWND GlowneOkno = CreateWindowEx(WS_EX_APPWINDOW | WS_EX_CLIENTEDGE,
  171. NazwaKlasy, TEXT("Okno"), WS_OVERLAPPEDWINDOW,
  172. CW_USEDEFAULT, CW_USEDEFAULT, 1280, 680,
  173. NULL, NULL, hInstance, NULL);
  174.  
  175. if (GlowneOkno == NULL) {
  176. MessageBox(NULL, TEXT("Nie udało się stworzyć głównego okna!"),
  177. NazwaAplikacji, MB_ICONSTOP | MB_OK);
  178. return 2;
  179. }
  180. // Wyświetl i uaktualnij nowo stworzone okno.
  181. ShowWindow(GlowneOkno, Widocznosc);
  182. UpdateWindow(GlowneOkno);
  183. // Główna pętla komunikatów wątku.
  184. MSG Komunikat;
  185. while (GetMessage(&Komunikat, NULL, 0, 0) > 0) {
  186. TranslateMessage(&Komunikat);
  187. DispatchMessage(&Komunikat);
  188. }
  189. // Zwolnij pamięć klas i zakończ proces.
  190. WyrejestrujKlasy();
  191. return static_cast<int>(Komunikat.wParam);
  192. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement