S
Hier die funktionierende Version von deinem Prog (nur Addieren weiter machst du selbst)
#include <windows.h>
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM);
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow)
{
static char szAppName[] = "Name" ;
HWND hwnd ;
MSG msg ;
WNDCLASSEX wndclass ;
wndclass.cbSize = sizeof (wndclass) ;
wndclass.style = CS_HREDRAW | CS_VREDRAW ;
wndclass.lpfnWndProc = WndProc ;
wndclass.cbClsExtra = 0 ;
wndclass.cbWndExtra = 0 ;
wndclass.hInstance = hInstance ;
wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION) ;
wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ;
wndclass.hbrBackground = (HBRUSH) GetStockObject (BLACK_BRUSH) ;
wndclass.lpszMenuName = NULL ;
wndclass.lpszClassName = szAppName ;
wndclass.hIconSm = LoadIcon (NULL, IDI_APPLICATION) ;
RegisterClassEx (&wndclass) ;
hwnd = CreateWindow (szAppName, "Fenstername", WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
NULL, NULL, hInstance, NULL) ;
ShowWindow (hwnd, iCmdShow) ;
UpdateWindow (hwnd) ;
while (GetMessage (&msg, NULL, 0, 0))
{
TranslateMessage (&msg) ;
DispatchMessage (&msg) ;
}
return msg.wParam ;
}
LRESULT CALLBACK WndProc (HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
{
static HWND edit1;
static HWND edit2;
static HWND edit3;
static HWND edit4;
static HWND edit5;
static HWND edit6;
static HWND edit7;
static HWND edit8;
static HWND edit9;
static HWND edit10;
static HWND edit11;
static HWND edit12;
static HWND gleich1;
static HWND gleich2;
static HWND gleich3;
static HWND gleich4;
static HWND edit13;
static HWND edit14;
static HWND edit15;
static HWND edit16;
static HWND beenden;
int z;
int x;
char Zahl[256]="",Zal[256]="",Ergebnis[256]="";
float zahl;
float zal;
switch (iMsg)
{
case WM_CREATE :
edit1 = CreateWindowEx(WS_EX_CLIENTEDGE ,"edit", NULL,WS_CHILD | WS_VISIBLE | ES_LEFT,
10, 10, 70, 20, hwnd, (HMENU) 1,
((LPCREATESTRUCT) lParam) -> hInstance, NULL) ;
SendMessage(edit1, WM_SETFONT,(WPARAM)GetStockObject(DEFAULT_GUI_FONT),0);
z = SendMessage(edit1,WM_GETTEXTLENGTH,0,0);
edit2 = CreateWindowEx(WS_EX_CLIENTEDGE ,"edit", NULL,WS_CHILD | WS_VISIBLE | ES_LEFT,
10, 40, 70, 20, hwnd, (HMENU) 2,
((LPCREATESTRUCT) lParam) -> hInstance, NULL) ;
SendMessage(edit2, WM_SETFONT,(WPARAM)GetStockObject(DEFAULT_GUI_FONT),0);
edit3 = CreateWindowEx(WS_EX_CLIENTEDGE ,"edit", NULL,WS_CHILD | WS_VISIBLE | ES_LEFT,
10, 70, 70, 20, hwnd, (HMENU) 3,
((LPCREATESTRUCT) lParam) -> hInstance, NULL) ;
SendMessage(edit3, WM_SETFONT,(WPARAM)GetStockObject(DEFAULT_GUI_FONT),0);
edit4 = CreateWindowEx(WS_EX_CLIENTEDGE ,"edit", NULL,WS_CHILD | WS_VISIBLE | ES_LEFT,
10, 100, 70, 20, hwnd, (HMENU) 4,
((LPCREATESTRUCT) lParam) -> hInstance, NULL) ;
SendMessage(edit4, WM_SETFONT,(WPARAM)GetStockObject(DEFAULT_GUI_FONT),0);
edit5= CreateWindowEx(WS_EX_CLIENTEDGE ,"edit", NULL,WS_CHILD | WS_VISIBLE | ES_LEFT,
85, 10, 15, 20, hwnd, (HMENU) 5,
((LPCREATESTRUCT) lParam) -> hInstance, NULL) ;
SendMessage(edit5, WM_SETFONT,(WPARAM)GetStockObject(DEFAULT_GUI_FONT),0);
SendMessage(edit5,WM_SETTEXT,0,(long)"+");
edit6= CreateWindowEx(WS_EX_CLIENTEDGE ,"edit", NULL,WS_CHILD | WS_VISIBLE | ES_LEFT,
85, 40, 15, 20, hwnd, (HMENU) 6,
((LPCREATESTRUCT) lParam) -> hInstance, NULL) ;
SendMessage(edit6, WM_SETFONT,(WPARAM)GetStockObject(DEFAULT_GUI_FONT),0);
SendMessage(edit6,WM_SETTEXT,0,(long)"-");
edit7=CreateWindowEx(WS_EX_CLIENTEDGE ,"edit", NULL,WS_CHILD | WS_VISIBLE | ES_LEFT,
85, 70, 15, 20, hwnd, (HMENU) 7,
((LPCREATESTRUCT) lParam) -> hInstance, NULL) ;
SendMessage(edit7, WM_SETFONT,(WPARAM)GetStockObject(DEFAULT_GUI_FONT),0);
SendMessage(edit7,WM_SETTEXT,0,(long)"*");
edit8=CreateWindowEx(WS_EX_CLIENTEDGE ,"edit", NULL,WS_CHILD | WS_VISIBLE | ES_LEFT,
85, 100, 15, 20, hwnd, (HMENU) 8,
((LPCREATESTRUCT) lParam) -> hInstance, NULL) ;
SendMessage(edit8, WM_SETFONT,(WPARAM)GetStockObject(DEFAULT_GUI_FONT),0);
SendMessage(edit8,WM_SETTEXT,0,(long)"/");
edit9 = CreateWindowEx(WS_EX_CLIENTEDGE ,"edit", NULL,WS_CHILD | WS_VISIBLE | ES_LEFT,
105, 10, 70, 20, hwnd, (HMENU) 9,
((LPCREATESTRUCT) lParam) -> hInstance, NULL) ;
SendMessage(edit9, WM_SETFONT,(WPARAM)GetStockObject(DEFAULT_GUI_FONT),0);
x = SendMessage(edit9,WM_GETTEXTLENGTH,0,0);
SendMessage(edit9,WM_GETTEXT,x+1,(long)&zal);
edit10 = CreateWindowEx(WS_EX_CLIENTEDGE ,"edit", NULL,WS_CHILD | WS_VISIBLE | ES_LEFT,
105, 40, 70, 20, hwnd, (HMENU) 10,
((LPCREATESTRUCT) lParam) -> hInstance, NULL) ;
SendMessage(edit10, WM_SETFONT,(WPARAM)GetStockObject(DEFAULT_GUI_FONT),0);
edit11 = CreateWindowEx(WS_EX_CLIENTEDGE ,"edit", NULL,WS_CHILD | WS_VISIBLE | ES_LEFT,
105, 70, 70, 20, hwnd, (HMENU) 11,
((LPCREATESTRUCT) lParam) -> hInstance, NULL) ;
SendMessage(edit11, WM_SETFONT,(WPARAM)GetStockObject(DEFAULT_GUI_FONT),0);
edit12 = CreateWindowEx(WS_EX_CLIENTEDGE ,"edit", NULL,WS_CHILD | WS_VISIBLE | ES_LEFT,
105, 100, 70, 20, hwnd, (HMENU) 12,
((LPCREATESTRUCT) lParam) -> hInstance, NULL) ;
SendMessage(edit12, WM_SETFONT,(WPARAM)GetStockObject(DEFAULT_GUI_FONT),0);
gleich1 = CreateWindow( "button",
"=",
WS_CHILD | WS_VISIBLE,
0, 0, 0, 0,
hwnd,
NULL,
((LPCREATESTRUCT) lParam) -> hInstance,
NULL);
gleich2 = CreateWindow( "button",
"=",
WS_CHILD | WS_VISIBLE,
0, 0, 0, 0,
hwnd,
NULL,
((LPCREATESTRUCT) lParam) -> hInstance,
NULL);
gleich3 = CreateWindow( "button",
"=",
WS_CHILD | WS_VISIBLE,
0, 0, 0, 0,
hwnd,
NULL,
((LPCREATESTRUCT) lParam) -> hInstance,
NULL);
gleich4 = CreateWindow( "button",
"=",
WS_CHILD | WS_VISIBLE,
0, 0, 0, 0,
hwnd,
NULL,
((LPCREATESTRUCT) lParam) -> hInstance,
NULL);
edit13 = CreateWindowEx(WS_EX_CLIENTEDGE ,"edit", NULL,WS_CHILD | WS_VISIBLE | ES_LEFT,
205, 10, 70, 20, hwnd, (HMENU) 13,
((LPCREATESTRUCT) lParam) -> hInstance, NULL) ;
SendMessage(edit13, WM_SETFONT,(WPARAM)GetStockObject(DEFAULT_GUI_FONT),0);
edit14 = CreateWindowEx(WS_EX_CLIENTEDGE ,"edit", NULL,WS_CHILD | WS_VISIBLE | ES_LEFT,
205, 40, 70, 20, hwnd, (HMENU) 14,
((LPCREATESTRUCT) lParam) -> hInstance, NULL) ;
SendMessage(edit14, WM_SETFONT,(WPARAM)GetStockObject(DEFAULT_GUI_FONT),0);
edit15 = CreateWindowEx(WS_EX_CLIENTEDGE ,"edit", NULL,WS_CHILD | WS_VISIBLE | ES_LEFT,
205, 70, 70, 20, hwnd, (HMENU) 15,
((LPCREATESTRUCT) lParam) -> hInstance, NULL) ;
SendMessage(edit15, WM_SETFONT,(WPARAM)GetStockObject(DEFAULT_GUI_FONT),0);
edit16 = CreateWindowEx(WS_EX_CLIENTEDGE ,"edit", NULL,WS_CHILD | WS_VISIBLE | ES_LEFT,
205, 100, 70, 20, hwnd, (HMENU) 16,
((LPCREATESTRUCT) lParam) -> hInstance, NULL) ;
SendMessage(edit16, WM_SETFONT,(WPARAM)GetStockObject(DEFAULT_GUI_FONT),0);
beenden = CreateWindow( "button",
"Beenden",
WS_CHILD | WS_VISIBLE,
0, 0, 0, 0,
hwnd,
NULL,
((LPCREATESTRUCT) lParam) -> hInstance,
NULL);
return 0 ;
case WM_SIZE:
{
MoveWindow(gleich1, 180,10,20,20,TRUE);
MoveWindow(gleich2, 180,40,20,20,TRUE);
MoveWindow(gleich3, 180,70,20,20,TRUE);
MoveWindow(gleich4, 180,100,20,20,TRUE);
MoveWindow(beenden, 10,125,270,20,TRUE);
return 0;
}
case WM_COMMAND:
{
if (lParam == (LPARAM)gleich1)
{
if (HIWORD(wParam) == BN_CLICKED)
GetWindowText(edit1,Zahl,255);
zahl = atoi(Zahl);
GetWindowText(edit9,Zal,255);
zal = atoi(Zal);
itoa((zal + zahl),Ergebnis,10);// 10 steht für dezimal
SetWindowText(edit13,Ergebnis);
}
return 0;
}
case WM_DESTROY :
PostQuitMessage (0) ;
return 0 ;
}
return DefWindowProc (hwnd, iMsg, wParam, lParam) ;
}