Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Link do calego projektu: http://www33.zippyshare.com/v/ilnp6WgK/file.html
- #include <windows.h>
- #include "resource.h"
- #include <vector>
- using namespace std;
- HWND dialog;
- struct person
- {
- TCHAR name[100];
- TCHAR surname[100];
- TCHAR nrtel[100];
- };
- vector <person> lista;
- unsigned int listsize;
- TCHAR tname[50], tsurname[50], *tnrtel[50], BUFF[100];
- BOOL CALLBACK DlgProc(HWND hwnd, UINT msg2, WPARAM wParam, LPARAM lParam) {
- switch (msg2) {
- person buffperson;
- case WM_INITDIALOG:
- {
- SetWindowText(GetDlgItem(hwnd, IDC_STATIC1), L"NAME");
- SetWindowText(GetDlgItem(hwnd, IDC_STATIC2), L"SURNAME");
- SetWindowText(GetDlgItem(hwnd, IDC_STATIC3), L"NR TEL");
- break;
- }
- case WM_COMMAND:
- {
- switch (LOWORD(wParam))
- {
- case IDC_BUTTONDLGCANCEL: ShowWindow(hwnd, 0); break;
- case IDC_BUTTONDLGOK:
- {
- GetWindowText(GetDlgItem(hwnd, IDC_NAME), buffperson.name, 100);
- GetWindowText(GetDlgItem(hwnd, IDC_SURNAME), buffperson.surname, 100);
- GetWindowText(GetDlgItem(hwnd, IDC_NRTEL), buffperson.nrtel, 100);
- lista.push_back(buffperson);
- SetWindowText(GetDlgItem(hwnd, IDC_NAME), NULL);
- SetWindowText(GetDlgItem(hwnd, IDC_SURNAME),NULL);
- SetWindowText(GetDlgItem(hwnd, IDC_NRTEL), NULL);
- for (int i = 0; i < 100; i++)
- {
- buffperson.name[i] = ' ';
- buffperson.surname[i] = ' ';
- buffperson.nrtel[i] = ' ';
- }
- ShowWindow(hwnd, 0);
- break;
- }
- }
- default: return FALSE;
- }
- return TRUE;
- }
- }
- RECT windowrect;
- LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
- {
- switch (msg)
- {
- case WM_CREATE:
- dialog = CreateDialog(GetModuleHandle(NULL), MAKEINTRESOURCE(IDD_DIALOGBAR), hwnd, DlgProc);
- SetTimer(hwnd, 0, 100, 0); GetClientRect(hwnd, &windowrect);
- break;
- case WM_COMMAND:
- switch (LOWORD(wParam))
- {
- case ID_WPISZ: ShowWindow(dialog, 1); break;
- case ID_USUN: lista.clear(); break;
- case ID_KONIEC: SendMessage(hwnd, WM_CLOSE, wParam, lParam); break;
- case ID_ACCELERATOR40001 : SendMessage(hwnd, WM_CLOSE, wParam, lParam); break;
- case ID_ACCELERATOR40002:ShowWindow(dialog, 1); break;
- case ID_ACCELERATOR40003: lista.clear(); break;
- }
- break;
- case WM_LBUTTONDOWN: wsprintf(BUFF, TEXT("size %d"), lista.size()); MessageBox(hwnd, BUFF, L"Twoj stary jak cie robil", MB_OK); break;
- case WM_TIMER: InvalidateRect(hwnd, &windowrect, 1); break;
- case WM_PAINT:
- {
- PAINTSTRUCT paintstruct;
- BeginPaint(hwnd, &paintstruct);
- for (int i = 0; i < lista.size(); i++)
- {
- for (int i = 0; i < 100; i++)
- {
- BUFF[i] = ' ';
- }
- wsprintf(BUFF, TEXT("%ls %ls %ls"), lista[i].name, lista[i].surname, lista[i].nrtel);
- TextOut(paintstruct.hdc, 20, i * 20, BUFF, 100);
- }
- EndPaint(hwnd, &paintstruct);
- }
- break;
- case WM_CLOSE:
- lista.clear();
- DestroyWindow(hwnd);
- break;
- case WM_DESTROY:
- PostQuitMessage(0);
- break;
- default:
- return DefWindowProc(hwnd, msg, wParam, lParam);
- }
- return 0;
- }
- int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
- {
- MSG msg;
- // WYPEŁNIANIE STRUKTURY
- WNDCLASSEX wc;
- LPCWSTR nazwa = L"xD";
- wc.cbSize = sizeof(WNDCLASSEX);
- wc.style = 0;
- wc.lpfnWndProc = WndProc;
- wc.cbClsExtra = 0;
- wc.cbWndExtra = 0;
- wc.hInstance = GetModuleHandle(0);
- wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
- wc.hCursor = LoadCursor(NULL, IDC_ARROW);
- wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
- wc.lpszMenuName = (LPCTSTR)IDR_MENU1;
- wc.lpszClassName = nazwa;
- wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
- // REJESTROWANIE KLASY OKNA
- if (!RegisterClassEx(&wc))
- {
- MessageBox(NULL, L"Nieudana rejestracja okna", NULL,
- MB_ICONEXCLAMATION | MB_OK);
- return 1;
- }
- HWND hwnd;
- HACCEL haccel;
- haccel = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDR_ACCELERATOR1));
- // TWORZENIE OKNA
- hwnd = CreateWindowEx(WS_EX_CLIENTEDGE, nazwa, L"hehe", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 600, 600, NULL, NULL, hInstance, NULL);
- if (hwnd == NULL)
- {
- MessageBox(NULL, L"hwnd = NULL", NULL, MB_ICONEXCLAMATION);
- return 1;
- }
- ShowWindow(hwnd, nCmdShow); // Pokaż okienko...
- UpdateWindow(hwnd);
- // Pętla komunikatów
- while (GetMessage(&msg, NULL, 0, 0))
- {
- if (!TranslateAccelerator(hwnd, haccel, &msg))
- {
- TranslateMessage(&msg);
- DispatchMessage(&msg);
- }
- }
- UnregisterClass(nazwa, hInstance);
- return msg.wParam;
- }
Advertisement