Dobra a więc po kolei bo sie chyba nie zrozumieliśmy :D
To jest mój kod jeżeli potrzebujecie cały:
#include <Windows.h>
#include <stdlib.h>
#include <iostream>
#include <cstdlib>
#include <string>
#include <sstream>
using namespace std;
#define FILE_MENU_NEW 1
#define FILE_MENU_OPEN 2
#define FILE_MENU_EXIT 3
#define GENERATE_BUTTON 4
#define POBIERZ_A 5
#define POBIERZ_B 6
#define POBIERZ_C 7
#define POBIERZ_D 8
LRESULT CALLBACK WindowProcedure(HWND, UINT, WPARAM, LPARAM);
void AddControls(HWND hWnd);
HWND hName, hAge, hOut, hDel, hA, hB, hOA, hOB, hC, hOC, hD;
HMENU hMenu;
//-------------------------------------------------------------------------------------------------------------------------------------------------------
double licz(double a, double b, double c)
{
double delta = (b*b) - (4 * a*c);
return delta;
}
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR args, int ncmdshow)
{
WNDCLASSW wc = { 0 };
wc.hbrBackground = (HBRUSH)COLOR_WINDOW;
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hInstance = hInst;
wc.lpszClassName = L"Funkcja Kwadratowa";
wc.lpfnWndProc = WindowProcedure;
if (!RegisterClassW(&wc))
return -1;
HWND hwnd = CreateWindow("Funkcja Kwadratowa",
"Tytul",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT,
1200, 700,
NULL,
NULL,
hInst,
NULL);
ShowWindow(hwnd, ncmdshow);
UpdateWindow(hwnd);
MSG msg = { 0 };
while (GetMessage(&msg, NULL, NULL, NULL))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return 0;
}
LRESULT CALLBACK WindowProcedure(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp)
{
switch (msg)
{
case WM_COMMAND:
switch (wp)
{
case GENERATE_BUTTON:
double a;
double b;
double c;
double delta = 0;
//delta = licz(a, b, c);
}
break;
case WM_CREATE:
AddControls(hWnd);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProcW(hWnd, msg, wp, lp);
}
}
void AddControls(HWND hWnd)
{
hA = CreateWindowEx(WS_EX_CLIENTEDGE, "EDIT", "a", WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 60, 50, 30, hWnd, NULL, NULL, NULL);
hB = CreateWindowEx(WS_EX_CLIENTEDGE, "EDIT", "b", WS_CHILD | WS_VISIBLE | WS_BORDER, 80, 60, 50, 30, hWnd, NULL, NULL, NULL);
hC = CreateWindowEx(WS_EX_CLIENTEDGE, "EDIT", "c", WS_CHILD | WS_VISIBLE | WS_BORDER, 140, 60, 50, 30, hWnd, NULL, NULL, NULL);
hOut = CreateWindowEx(WS_EX_CLIENTEDGE, "EDIT", "", WS_CHILD | WS_VISIBLE | WS_BORDER, 200, 60, 50, 30, hWnd, NULL, NULL, NULL);
CreateWindowEx(WS_EX_CLIENTEDGE, "BUTTON", "Obliczanie", WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 100, 150, 30, hWnd, (HMENU)GENERATE_BUTTON, NULL, NULL);
}
I teraz może będzie łatwiej mi wytłumaczyć, otóż chodzi mi o to, że potrzebuje funkcje dzięki której będę mógł przypisać do zmiennej "double a" w przycisku GENERATE_BUTTON, tekst wpisany do okienka hA. Prościej mówiąc, wpisuje tekst do okienka hA, naciskam przycisk oznaczony w kodzie jako "GENERATE_BUTTON", tekst wpisany do okienka zostaje przypisany do zmiennej a, i dzięki temu mogę liczyć delte. Tak wiem mam korzystać z GetWindowText SetWindowText, ale nie umiem pobierać tej wartości z okienka, może ktoś pomoże?