Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include <windows.h>
- #include <stdlib.h>
- #include <stdio.h>
- #define ID_EDIT 101
- #define IDB_RADIO1 102
- #define IDB_RADIO2 103
- #define ID_STATIC 104
- wchar_t ClassName[] = L"MainWindowClass";
- wchar_t Bufor[100];
- #pragma warning(disable : 4996)
- HWND hEditField;
- HWND hWndButton1;
- HWND hWndButton2;
- HWND hStatic;
- BOOL CalToCm = true;
- wchar_t x[200];
- double ConvertToCal()
- {
- double temp, result;
- temp = _wtof(Bufor);
- result = temp / 2, 54;
- return result;
- }
- double ConvertToCm()
- {
- double temp, result;
- temp = _wtof(Bufor);
- result = temp * 2, 54;
- return result;
- }
- LRESULT CALLBACK WndProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
- {
- switch (Msg)
- {
- case WM_CREATE:
- {
- HINSTANCE hInstance = (HINSTANCE)GetWindowLong(hWnd, GWL_HINSTANCE);
- hEditField = CreateWindowEx(0, TEXT("edit"), TEXT("Wprowadź wartość"), WS_VISIBLE | WS_CHILD | WS_BORDER, 10, 10, 160, 20, hWnd, (HMENU)ID_EDIT, hInstance, NULL);
- hWndButton1 = CreateWindowEx(0, TEXT("BUTTON"), TEXT("cm -> cale"), WS_VISIBLE | WS_CHILD | BS_RADIOBUTTON, 10, 40, 160, 20, hWnd, (HMENU)IDB_RADIO1, hInstance, NULL);
- hWndButton2 = CreateWindowEx(0, TEXT("BUTTON"), TEXT("cale -> cm"), WS_VISIBLE | WS_CHILD | BS_RADIOBUTTON, 10, 70, 160, 20, hWnd, (HMENU)IDB_RADIO2, hInstance, NULL);
- hStatic = CreateWindowEx(0, TEXT("static"), TEXT("Wynik"), WS_VISIBLE | WS_CHILD | WS_BORDER, 10, 100, 160, 20, hWnd, (HMENU)ID_STATIC, hInstance, NULL);
- }
- break;
- case WM_COMMAND:
- {
- switch (LOWORD(wParam))
- {
- case ID_EDIT:
- {
- switch (HIWORD(wParam))
- {
- case EN_CHANGE:
- {
- //DWORD dlugosc = GetWindowTextLength(hEditField);
- //Bufor = (LPWSTR)GlobalAlloc(GPTR, dlugosc + 1);
- GetWindowText(hEditField, Bufor, 100);
- if (CalToCm == 'true')
- {
- //double liczba = ConvertToCm(Bufor);
- //swprintf_s(Bufor, 100, "%f", liczba);
- swprintf(Bufor, L"%f", ConvertToCm());
- SetWindowText(hStatic, Bufor);
- }
- else
- {
- swprintf(Bufor, L"%f", ConvertToCal());
- SetWindowText(hStatic, Bufor);
- }
- }
- }
- }
- break;
- case IDB_RADIO1:
- {
- switch (HIWORD(wParam))
- {
- case BN_CLICKED:
- if (SendDlgItemMessage(hWnd, IDB_RADIO1, BM_GETCHECK, 0, 0) == 0)
- {
- SendDlgItemMessage(hWnd, IDB_RADIO1, BM_SETCHECK, 1, 0);
- SendDlgItemMessage(hWnd, IDB_RADIO2, BM_SETCHECK, 0, 0);
- CalToCm = 1;
- swprintf(Bufor, L"%f", ConvertToCm());
- SetWindowText(hStatic, Bufor);
- }
- break;
- }
- }
- break;
- case IDB_RADIO2:
- {
- switch (HIWORD(wParam))
- {
- case BN_CLICKED:
- if (SendDlgItemMessage(hWnd, IDB_RADIO2, BM_GETCHECK, 0, 0) == 0)
- {
- SendDlgItemMessage(hWnd, IDB_RADIO2, BM_SETCHECK, 1, 0);
- SendDlgItemMessage(hWnd, IDB_RADIO1, BM_SETCHECK, 0, 0);
- CalToCm = 0;
- swprintf(Bufor, L"%f", ConvertToCal());
- SetWindowText(hStatic, Bufor);
- }
- break;
- }
- }
- break;
- }
- return 0;
- }
- break;
- case WM_CLOSE:
- //GlobalFree(Bufor);
- 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)
- {
- WNDCLASSEX wc;
- wc.cbSize = sizeof(WNDCLASSEX);
- wc.style = 0;
- wc.lpfnWndProc = (WNDPROC)WndProc;
- wc.cbClsExtra = 0;
- wc.cbWndExtra = 0;
- wc.hInstance = hInstance;
- wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
- wc.hIconSm = 0;
- wc.hCursor = LoadCursor(NULL, IDC_ARROW);
- wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
- wc.lpszMenuName = NULL;
- wc.lpszClassName = ClassName;
- if (!RegisterClassEx(&wc))
- {
- MessageBox(NULL, TEXT("Failed To Register The Window Class."), TEXT("Error"), MB_OK | MB_ICONERROR);
- return 0;
- }
- HWND hWnd = CreateWindowEx(
- WS_EX_CLIENTEDGE,
- ClassName,
- TEXT("Radio Buttons"),
- WS_OVERLAPPEDWINDOW,
- CW_USEDEFAULT,
- CW_USEDEFAULT,
- 400,
- 300,
- NULL,
- NULL,
- hInstance,
- NULL);
- if (!hWnd)
- {
- MessageBox(NULL, TEXT("Window Creation Failed."), TEXT("Error"), MB_OK | MB_ICONERROR);
- return 0;
- }
- ShowWindow(hWnd, SW_SHOW);
- UpdateWindow(hWnd);
- MSG Msg;
- while (GetMessage(&Msg, NULL, 0, 0))
- {
- TranslateMessage(&Msg);
- DispatchMessage(&Msg);
- }
- return Msg.wParam;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement