Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Pobranie i wyświetlenie wyniku w kalkulatorze okienkowym c++

Ostatnio zmodyfikowano 2021-11-16 21:33
Autor Wiadomość
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:

C/C++
#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;
}
P-179067
DejaVu
» 2021-11-16 15:38:36
Dla każdego pola tekstowego musisz mieć osobną zmienną np. hwndEdit1 oraz hwndEdit2. Wówczas będziesz miał uchwyt do kontrolki z której będziesz mógł odczytać tekst.
P-179068
michalwrobl83
Temat założony przez niniejszego użytkownika
» 2021-11-16 20:37:29
Ok rozdzieliłem to na dwie różne zmienne ale nadal myślę gdzie i jaką funkcją wpleść w kod wywołanie tego tekstu aby było ono w tym okienku które stworzyłem dla danego działania.
P-179072
DejaVu
» 2021-11-16 21:33:12
W żadnym kursie nie masz napisanego jak odczytywać dane z kontrolek?

» Biblioteki C++» Kurs WinAPI, C++» PodstawyKontrolki lekcja
P-179073
« 1 »
  Strona 1 z 1