Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Windows.h>
- #include "resource.h"
- #include <stdio.h>
- #include <vector>
- //Zmienne i funkcje globalne.
- HINSTANCE hInstance;
- struct imiona
- {
- char imie[21];
- char nazwisko[21];
- char godzina[3];
- char minuta[3];
- bool przyjscie;
- };
- HICON zielona;
- HICON czerwona;
- std::vector <imiona> baza;
- //Zmienne globalne.
- BOOL CALLBACK DlgProc( HWND hwnd, UINT Msg, WPARAM wParam, LPARAM lParam )
- {
- switch( Msg )
- {
- case WM_COMMAND:
- {
- switch( LOWORD( wParam ) )
- {
- case IDOK:
- {
- imiona temp;
- GetDlgItemText(hwnd, IDC_EDIT1, temp.imie, sizeof(temp.imie));
- GetDlgItemText(hwnd, IDC_EDIT2, temp.nazwisko, sizeof
- (temp.nazwisko));
- GetDlgItemText(hwnd, IDC_EDIT3, temp.godzina, sizeof
- (temp.godzina));
- GetDlgItemText(hwnd, IDC_EDIT4, temp.minuta, sizeof
- (temp.minuta));
- if (strlen(temp.imie) == 0 || strlen(temp.nazwisko) == 0 ||
- atoi(temp.godzina) > 23 ||
- atoi(temp.godzina) < 0 || atoi(temp.minuta) > 59 || atoi
- (temp.minuta) < 0)
- MessageBox(hwnd, "Wprowadz prawidłowe dane!", "Błąd",
- NULL);
- else
- {
- if (IsDlgButtonChecked(hwnd, IDC_RADIO1))
- temp.przyjscie = true;
- else if (IsDlgButtonChecked(hwnd, IDC_RADIO2))
- temp.przyjscie = false;
- baza.push_back(temp);
- EndDialog( hwnd, IDOK );
- }
- break;
- }
- case IDCANCEL:
- EndDialog( hwnd, IDCANCEL );
- break;
- }
- }
- break;
- case WM_INITDIALOG:
- CheckRadioButton(hwnd, IDC_RADIO1, IDC_RADIO2, IDC_RADIO1);
- break;
- default:
- return FALSE;
- }
- return TRUE;
- }
- //Komunikaty
- LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
- {
- HDC hdc;
- switch (msg)
- {
- case WM_CREATE:
- zielona = LoadIcon(GetModuleHandle( NULL ), MAKEINTRESOURCE(IDI_ICON2));
- czerwona = LoadIcon(GetModuleHandle( NULL ), MAKEINTRESOURCE(IDI_ICON1));
- break;
- case WM_COMMAND:
- switch (LOWORD(wParam))
- {
- case ID_WPIS_USUNWSZYSTKIE:
- {
- baza.clear();
- hdc = GetDC(hwnd);
- RECT rect;
- GetClientRect (hwnd, &rect) ;
- InvalidateRect(hwnd, &rect, true);
- ReleaseDC(hwnd, hdc);
- break;
- }
- case ID_WPIS_DODAJ:
- {
- int db = DialogBox(hInstance, MAKEINTRESOURCE(IDD_DIALOG1),
- hwnd, DlgProc);
- if (db == IDOK)
- {
- hdc = GetDC(hwnd);
- RECT rect;
- GetClientRect (hwnd, &rect) ;
- InvalidateRect(hwnd, &rect, true);
- ReleaseDC(hwnd, hdc);
- }
- break;
- }
- case ID_WPIS_KONIEC:
- DestroyWindow(hwnd);
- break;
- }
- case WM_PAINT:
- {
- PAINTSTRUCT ps;
- hdc = BeginPaint(hwnd, &ps);
- int i = 0;
- for (int j = baza.size()1; j >= 0; j, i++)
- {
- if (baza[j].przyjscie == true)
- DrawIcon(hdc, 10, 10 + (i * 20), zielona);
- else
- DrawIcon(hdc, 10, 10 + (i * 20), czerwona);
- char buff[512];
- sprintf_s(buff, "%s %s %s:%s", baza[j].imie, baza[j].nazwisko,
- baza[j].godzina, baza[j].minuta);
- TextOut(hdc, 50, 18 + (i * 20), buff, strlen(buff));
- }
- EndPaint(hwnd, &ps);
- break;
- }
- case WM_CLOSE:
- DestroyWindow(hwnd);
- break;
- case WM_DESTROY:
- PostQuitMessage(0);
- break;
- default:
- return DefWindowProc(hwnd, msg, wParam, lParam);
- }
- return 0;
- }
- //Main
- int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR ilCmdLine, int
- nCmdShow)
- {
- WNDCLASSEX window;
- HWND hwnd = NULL;
- MSG msg;
- TCHAR Class_Name[] = TEXT("OKNO_TEST");
- TCHAR Title[] = TEXT("Księga wej/wyj");
- window.cbClsExtra = NULL;
- window.cbSize = sizeof(WNDCLASSEX);
- window.cbWndExtra = NULL;
- window.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
- window.hCursor = LoadCursor(NULL, IDC_ARROW);
- window.hIcon = LoadIcon(NULL, IDI_APPLICATION);
- window.hIconSm = NULL;
- window.hInstance = hInstance;
- window.lpfnWndProc = WndProc;
- window.lpszClassName = Class_Name;
- window.lpszMenuName = 0;
- window.style = CS_VREDRAW | CS_HREDRAW;
- RegisterClassEx(&window);
- HMENU menu;
- menu = LoadMenu(hInstance, MAKEINTRESOURCE(IDR_MENU1));
- hwnd = ((CreateWindowEx(WS_EX_WINDOWEDGE, Class_Name, Title,
- WS_OVERLAPPEDWINDOW | WS_VISIBLE, CW_USEDEFAULT, CW_USEDEFAULT,
- 300, 600, NULL, menu, hInstance, NULL)));
- ShowWindow(hwnd, nCmdShow);
- UpdateWindow(hwnd);
- HACCEL haccel;
- haccel = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDR_ACCELERATOR1));
- if( !haccel )
- {
- MessageBox( hwnd, "Nie można załadować akceleratorów." , NULL,
- MB_ICONEXCLAMATION );
- }
- while (GetMessage(&msg, NULL, 0, 0))
- {
- if (!TranslateAccelerator(hwnd, haccel, &msg))
- {
- TranslateMessage(&msg);
- DispatchMessage(&msg);
- }
- }
- UnregisterClass(Class_Name, hInstance);
- return msg.wParam;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement