Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Windows.h>
- #include <stdio.h>
- #include <math.h>
- TCHAR className[] = TEXT("NazwaKlasy");
- LRESULT CALLBACK WindowProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
- /////////// WIN MAIN //////////
- int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstace, LPSTR lpCmdLine, int NCmdShow) {
- WNDCLASSEX wc = {0};
- wc.cbSize = sizeof(WNDCLASSEX);
- wc.lpfnWndProc = WindowProc;
- wc.hInstance = hInstance;
- wc.lpszClassName = className;
- wc.hbrBackground = CreateSolidBrush(RGB(255, 0, 0));
- wc.style = CS_HREDRAW | CS_VREDRAW;
- if (!RegisterClassEx(&wc)) {
- MessageBox(0,TEXT("Odmowa rejestracji okna"), TEXT("ODMOWA"), MB_OK);
- }
- HWND h = CreateWindowEx(WS_EX_WINDOWEDGE, className, TEXT("HELLO WORLD"), WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 800, 500, NULL, NULL, hInstance, NULL);
- if (!h) {
- MessageBox(0, TEXT("Odmowa stworzenia okna"), TEXT("ODMOWA"), MB_OK);
- UnregisterClass(className, hInstance);
- return 0;
- }
- ShowWindow(h, NCmdShow);
- UpdateWindow(h);
- MSG msg;
- while (GetMessage(&msg, 0, 0, 0) > 0) {
- TranslateMessage(&msg);
- DispatchMessage(&msg);
- }
- UnregisterClass(className, hInstance);
- return msg.wParam;
- }
- /////////// SWITCH //////////
- LRESULT CALLBACK WindowProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
- {
- static int cxClient, cyClient;
- int szer_prz = 150, wys_prz = 30;
- DWORD dlugosc;
- LPSTR Bufor;
- int ID_RADIO1 = GetDlgCtrlID( GetDlgItem(hWnd, 2) );
- int ID_RADIO2 = GetDlgCtrlID( GetDlgItem(hWnd, 3) );
- char wyn[10];
- switch (Msg)
- {
- case WM_CREATE:
- CreateWindowEx(WS_EX_CLIENTEDGE, "EDIT", NULL, WS_CHILD | WS_VISIBLE | BS_CHECKBOX, 100, 100, szer_prz, wys_prz, hWnd, (HMENU)1, GetModuleHandle(NULL), NULL);
- CreateWindowEx(WS_EX_CLIENTEDGE, "BUTTON", "CM NA CAL", WS_CHILD | WS_VISIBLE | BS_RADIOBUTTON, 100, 150, szer_prz, wys_prz, hWnd, (HMENU)2, GetModuleHandle(NULL), NULL);
- CreateWindowEx(WS_EX_CLIENTEDGE, "BUTTON", "CAL NA CM", WS_CHILD | WS_VISIBLE | BS_RADIOBUTTON, 100, 200, szer_prz, wys_prz, hWnd, (HMENU)3, GetModuleHandle(NULL), NULL);
- CreateWindowEx(WS_EX_CLIENTEDGE, "STATIC", NULL, WS_CHILD | WS_VISIBLE | WS_BORDER, 100, 250, szer_prz, wys_prz, hWnd, (HMENU)4, GetModuleHandle(NULL), NULL);
- break;
- case WM_SIZE: //Gdy okno zmienia rozmiar
- cxClient = LOWORD( lParam );
- cyClient = HIWORD( lParam );
- MoveWindow(GetDlgItem(hWnd, 1), cxClient / 2 - 65, cyClient / 2 - 75, szer_prz, wys_prz, TRUE);
- MoveWindow(GetDlgItem(hWnd, 2), cxClient / 2 - 65, cyClient / 2 - 25, szer_prz, wys_prz, TRUE);
- MoveWindow(GetDlgItem(hWnd, 3), cxClient / 2 - 65, cyClient / 2 + 25, szer_prz, wys_prz, TRUE);
- MoveWindow(GetDlgItem(hWnd, 4), cxClient / 2 - 65, cyClient / 2 + 75, szer_prz, wys_prz, TRUE);
- break;
- case WM_COMMAND:
- dlugosc = GetWindowTextLength(GetDlgItem(hWnd, 1)); //******************************
- Bufor = (LPSTR) GlobalAlloc(GPTR, dlugosc + 1 ); // POBIERANIE TEKSTU DO BUFORA
- GetWindowText(GetDlgItem(hWnd, 1), Bufor, dlugosc + 1); //******************************
- double liczba;
- liczba = atof(Bufor);
- liczba = liczba * 2,54;
- sprintf(wyn,"%0.3f",liczba);
- SetWindowText(GetDlgItem(hWnd, 4), wyn); // USTAWIENIE TEKSTU STATIC'A
- GlobalFree( Bufor ); //ZWOLNIENIE PAMIĘCI BUFORA
- break;
- case WM_CLOSE:
- DestroyWindow(hWnd);
- break;
- case WM_DESTROY:
- PostQuitMessage(0);
- break;
- default:
- return DefWindowProc(hWnd, Msg, wParam, lParam);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement