| nnxion |
Jun 14th, 2006 6:06 PM |
Here is something you can use, you can use stringstreams to convert from ints to strings.
Visualise in steps what you want to do.
:
#include <sstream>
#include <windows.h>
#define IDE_TEXT 101
#define IDB_BUTTON1 500
#define IDB_BUTTON2 501
#define IDB_BUTTON3 502
#define IDB_BUTTON4 503
#define IDB_BUTTON5 504
#define IDB_BUTTON6 505
#define IDB_BUTTON7 506
#define IDB_BUTTON8 507
#define IDB_BUTTON9 508
#define IDB_BUTTONANSWER 509
#define IDB_BUTTONADD 510
#define IDB_BUTTONMINUS 511
const char *clsName = "WindowsApp";
const char *wndName = "Calculator";
LRESULT CALLBACK WndProcedure(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
void OnWmCreate(HWND);
INT WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
MSG msg;
HWND hwnd;
WNDCLASSEX wcx;
wcx.cbSize = sizeof(WNDCLASSEX);
wcx.style = CS_HREDRAW | CS_VREDRAW;
wcx.lpfnWndProc = WndProcedure;
wcx.cbClsExtra = 0;
wcx.cbWndExtra = 0;
wcx.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wcx.hCursor = LoadCursor(NULL, IDC_ARROW);
wcx.hbrBackground = (HBRUSH) COLOR_BACKGROUND;
wcx.lpszMenuName = NULL;
wcx.lpszClassName = clsName;
wcx.hInstance = hInstance;
wcx.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
if(!RegisterClassEx(&wcx))
{
MessageBox(NULL, "RegisterClassEx Failed!", "Error!", MB_ICONEXCLAMATION | MB_OK);
return 1;
}
hwnd = CreateWindow(clsName,
wndName,
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
220,
380,
NULL,
NULL,
hInstance,
NULL);
if(!hwnd)
{
MessageBox(NULL, "CreateWindow Failed!", "Error!", MB_ICONEXCLAMATION | MB_OK);
return 1;
}
ShowWindow(hwnd, SW_SHOWNORMAL);
UpdateWindow(hwnd);
while(GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return (int)msg.wParam;
}
LRESULT CALLBACK WndProcedure(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
static int first, second, calculated;
std::stringstream answer;
switch(msg)
{
case WM_CREATE:
OnWmCreate(hwnd);
break;
case WM_DESTROY:
PostQuitMessage(WM_QUIT);
break;
case WM_COMMAND:
if(HIWORD(wParam) == BN_CLICKED)
{
switch(LOWORD(wParam))
{
case IDB_BUTTON1:
MessageBox(hwnd, "1", "Input", MB_ICONINFORMATION | MB_OK);
break;
case IDB_BUTTON2:
MessageBox(hwnd, "2", "Input", MB_ICONINFORMATION | MB_OK);
break;
case IDB_BUTTON3:
MessageBox(hwnd, "3", "Input", MB_ICONINFORMATION | MB_OK);
break;
case IDB_BUTTON4:
MessageBox(hwnd, "4", "Input", MB_ICONINFORMATION | MB_OK);
break;
case IDB_BUTTON5:
MessageBox(hwnd, "5", "Input", MB_ICONINFORMATION | MB_OK);
break;
case IDB_BUTTON6:
MessageBox(hwnd, "6", "Input", MB_ICONINFORMATION | MB_OK);
break;
case IDB_BUTTON7:
MessageBox(hwnd, "7", "Input", MB_ICONINFORMATION | MB_OK);
break;
case IDB_BUTTON8:
MessageBox(hwnd, "8", "Input", MB_ICONINFORMATION | MB_OK);
break;
case IDB_BUTTON9:
MessageBox(hwnd, "9", "Answer", MB_ICONINFORMATION | MB_OK);
break;
case IDB_BUTTONANSWER:
MessageBox(hwnd, "Answer", "Answer", MB_ICONINFORMATION | MB_OK);
break;
}
}
break;
default:
return DefWindowProc(hwnd, msg, wParam, lParam);
}
return 0;
}
void OnWmCreate(HWND hwnd)
{
static HWND button1 = CreateWindow(
"button",
"1",
WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,
10,80,50,30,
hwnd,
(HMENU) IDB_BUTTON1,
GetModuleHandle(NULL), NULL);
static HWND button2 = CreateWindow(
"button",
"2",
WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,
70,80,50,30,
hwnd,
(HMENU) IDB_BUTTON2,
GetModuleHandle(NULL), NULL);
static HWND button3 = CreateWindow(
"button",
"3",
WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,
130,80,50,30,
hwnd,
(HMENU) IDB_BUTTON3,
GetModuleHandle(NULL), NULL);
static HWND button4 = CreateWindow(
"button",
"4",
WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,
10,120,50,30,
hwnd,
(HMENU) IDB_BUTTON4,
GetModuleHandle(NULL), NULL);
static HWND button5 = CreateWindow(
"button",
"5",
WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,
70,120,50,30,
hwnd,
(HMENU) IDB_BUTTON5,
GetModuleHandle(NULL), NULL);
static HWND button6 = CreateWindow(
"button",
"6",
WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,
130,120,50,30,
hwnd,
(HMENU) IDB_BUTTON6,
GetModuleHandle(NULL), NULL);
static HWND button7 = CreateWindow(
"button",
"7",
WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,
10,160,50,30,
hwnd,
(HMENU) IDB_BUTTON7,
GetModuleHandle(NULL), NULL);
static HWND button8 = CreateWindow(
"button",
"8",
WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,
70,160,50,30,
hwnd,
(HMENU) IDB_BUTTON8,
GetModuleHandle(NULL), NULL);
static HWND button9 = CreateWindow(
"button",
"9",
WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,
130,160,50,30,
hwnd,
(HMENU) IDB_BUTTON9,
GetModuleHandle(NULL), NULL);
static HWND buttonAnswer = CreateWindow(
"button",
"Answer",
WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,
80,200,60,30,
hwnd,
(HMENU) IDB_BUTTONANSWER,
GetModuleHandle(NULL), NULL);
static HWND buttonAdd = CreateWindow(
"button",
"+",
WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,
10,200,50,30,
hwnd,
(HMENU) IDB_BUTTONADD,
GetModuleHandle(NULL), NULL);
static HWND buttonWindow = CreateWindow(
"edit",
NULL,
WS_VISIBLE | WS_CHILD,
80,300,100,20,
hwnd,
(HMENU) IDE_TEXT,
GetModuleHandle(NULL),
NULL);
}
|