michalwrobl83 Temat założony przez niniejszego użytkownika |
Pobranie i wyświetlenie wyniku w kalkulatorze okienkowym c++ » 2021-11-16 14:41:52 Witam, robię swój pierwszy projekt kalkulatora okienkowego i mam problem z tym jak pobrać zawartość z dwóch pól które służą do wpisania liczb które mają być dodane, odejmowane, mnozone lub dzielone. Na ten moment po przyciśnieciu kazdego z przycisku danej funkcji matematycznej wyswietla sie statyczne pole z napisem "Wynik:" i nie wiem co dalej z tym zrobić żeby dalej w tym polu wyświetlić rzeczywisty wynik równania, próbowałem z funkcją GetWindowText ale średnio mi się udało więc pytam tutaj :) Macie na to jakiś pomysł i może przykład jak powinno to wyglądać dla dodawania liczb w tych dwóch polach i później wyświetlenie tego? Z resztą pójdzie mi już zdecydowanie łatwiej :) Tutaj kod: #define ID_BUTTON_DODAWANIE 1 #define ID_BUTTON_ODEJMOWANIE 2 #define ID_BUTTON_MNOZENIE 3 #define ID_BUTTON_DZIELENIE 4 #define ID_EDIT 5 #define ID_WYNIK 6
static HWND hwndbutton; static HWND hwndstatic; static HWND hwndedit;
LRESULT CALLBACK WindowProcedure( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam ) { switch( message ) { case WM_CREATE: hwndstatic = CreateWindowW( L"Static", L"Wprowadź liczbę 1", WS_CHILD | WS_VISIBLE | WS_BORDER, 50, 20, 150, 25, hwnd,( HMENU ) ID_EDIT, NULL, NULL ); hwndedit = CreateWindowW( L"EDIT", L"", ES_NUMBER | WS_CHILD | WS_VISIBLE | WS_BORDER, 50, 50, 150, 25, hwnd,( HMENU ) ID_EDIT, NULL, NULL ); hwndstatic = CreateWindowW( L"Static", L"Wprowadź liczbę 2", WS_VISIBLE | WS_CHILD | WS_BORDER, 350, 20, 150, 25, hwnd,( HMENU ) ID_EDIT, NULL, NULL ); hwndedit = CreateWindowW( L"EDIT", L"", ES_NUMBER | WS_VISIBLE | WS_CHILD | WS_BORDER, 350, 50, 150, 25, hwnd,( HMENU ) ID_EDIT, NULL, NULL ); hwndbutton = CreateWindowW( L"BUTTON", L"+", WS_VISIBLE | WS_CHILD, 210, 100, 125, 25, hwnd,( HMENU ) ID_BUTTON_DODAWANIE, NULL, NULL ); hwndbutton = CreateWindowW( L"BUTTON", L"-", WS_VISIBLE | WS_CHILD, 210, 150, 125, 25, hwnd,( HMENU ) ID_BUTTON_ODEJMOWANIE, NULL, NULL ); hwndbutton = CreateWindowW( L"BUTTON", L"*", WS_VISIBLE | WS_CHILD, 210, 200, 125, 25, hwnd,( HMENU ) ID_BUTTON_MNOZENIE, NULL, NULL ); hwndbutton = CreateWindowW( L"BUTTON", L"/", WS_VISIBLE | WS_CHILD, 210, 250, 125, 25, hwnd,( HMENU ) ID_BUTTON_DZIELENIE, NULL, NULL ); break; case WM_COMMAND: switch( wParam ) { case ID_BUTTON_DODAWANIE: CreateWindowW( L"STATIC", L"Wynik:", WS_VISIBLE | WS_CHILD, 50, 220, 105, 15, hwnd,( HMENU ) ID_BUTTON_DODAWANIE, NULL, NULL ); return 0; break; case ID_BUTTON_ODEJMOWANIE: CreateWindowW( L"STATIC", L"Wynik:", WS_VISIBLE | WS_CHILD, 50, 240, 105, 15, hwnd,( HMENU ) ID_BUTTON_ODEJMOWANIE, NULL, NULL ); return 0; break; case ID_BUTTON_MNOZENIE: CreateWindowW( L"STATIC", L"Wynik:", WS_VISIBLE | WS_CHILD, 50, 260, 105, 15, hwnd,( HMENU ) ID_BUTTON_MNOZENIE, NULL, NULL ); return 0; break; case ID_BUTTON_DZIELENIE: CreateWindowW( L"STATIC", L"Wynik:", WS_VISIBLE | WS_CHILD, 50, 280, 105, 15, hwnd,( HMENU ) ID_BUTTON_DZIELENIE, NULL, NULL ); return 0; break; } break; case WM_DESTROY: PostQuitMessage( 0 ); break; default: return DefWindowProc( hwnd, message, wParam, lParam ); } return 0; }
|