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;
}
Comments
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|👍
/👎