?? calculator.c
字號:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <minigui/common.h>
#include <minigui/minigui.h>
#include <minigui/gdi.h>
#include <minigui/window.h>
#include <minigui/control.h>
#include <minigui/mywindows.h>
#include <minigui/mgext.h>
#define IDC_RESULT 100
#define IDC_BUTTON 110
#define IDM_EDIT 200
#define IDM_VIEW 300
#define IDM_HELP 400
#define IDM_COPY 210
#define IDM_PASTE 211
#define IDM_CUT 212
#define IDM_DEL 213
#define IDM_STANDARD 310
#define IDM_SCIENCE 311
#define IDM_ABOUT 410
static HMENU Createpmenuedit (void)
{
HMENU hmnu;
MENUITEMINFO mii;
memset (&mii, 0, sizeof(MENUITEMINFO));
mii.type = MFT_STRING;
mii.id = 0;
mii.typedata = (DWORD)"編輯";
hmnu = CreatePopupMenu (&mii);
mii.type = MFT_STRING;
mii.state = 0;
mii.id = IDM_PASTE;
mii.typedata = (DWORD)"復制";
InsertMenuItem(hmnu, 0, TRUE, &mii);
mii.type = MFT_STRING;
mii.state = 0;
mii.id = IDM_PASTE;
mii.typedata = (DWORD)"粘貼";
InsertMenuItem(hmnu, 1, TRUE, &mii);
mii.type = MFT_SEPARATOR;
mii.state = 0;
mii.id = 0;
mii.typedata = 0;
InsertMenuItem(hmnu, 2, TRUE, &mii);
mii.type = MFT_STRING ;
mii.state = 0;
mii.id = IDM_CUT;
mii.typedata = (DWORD)"剪切";
InsertMenuItem(hmnu, 3, TRUE, &mii);
mii.type = MFT_STRING ;
mii.state = 0;
mii.id = IDM_DEL;
mii.typedata = (DWORD)"刪除";
InsertMenuItem(hmnu, 4, TRUE, &mii);
return hmnu;
}
static HMENU Createpmenuview(void)
{
HMENU hmnu;
MENUITEMINFO mii;
memset (&mii, 0, sizeof(MENUITEMINFO));
mii.type = MFT_STRING;
mii.id = 0;
mii.typedata = (DWORD)"查看";
hmnu = CreatePopupMenu (&mii);
memset (&mii, 0, sizeof(MENUITEMINFO));
mii.type = MFT_STRING ;
mii.state = 0;
mii.id = IDM_SCIENCE;
mii.typedata = (DWORD)"標準型";
InsertMenuItem(hmnu, 0, TRUE, &mii);
mii.type = MFT_STRING ;
mii.state = 0;
mii.id = IDM_SCIENCE;
mii.typedata = (DWORD)"科學型";
InsertMenuItem(hmnu, 1, TRUE, &mii);
return hmnu;
}
static HMENU Createpmenuabout(void)
{
HMENU hmnu;
MENUITEMINFO mii;
memset (&mii, 0, sizeof(MENUITEMINFO));
mii.type = MFT_STRING;
mii.id = 0;
mii.typedata = (DWORD)"幫助主題";
hmnu = CreatePopupMenu (&mii);
mii.type = MFT_STRING ;
mii.state = 0;
mii.id = IDM_ABOUT;
mii.typedata = (DWORD)"關于計算器";
InsertMenuItem(hmnu, 0, TRUE, &mii);
return hmnu;
}
static HMENU CreateCalcMenu(void)
{
HMENU hmnu;
MENUITEMINFO mii;
hmnu = CreateMenu();
memset (&mii, 0, sizeof(MENUITEMINFO));
mii.type = MFT_STRING;
mii.id = IDM_EDIT;
mii.typedata = (DWORD)"編輯";
mii.hsubmenu = Createpmenuedit();
InsertMenuItem(hmnu, 0, TRUE, &mii);
mii.type = MFT_STRING;
mii.id = IDM_VIEW;
mii.typedata = (DWORD)"查看";
mii.hsubmenu = Createpmenuview ();
InsertMenuItem(hmnu, 1, TRUE, &mii);
mii.type = MFT_STRING;
mii.id = IDM_HELP;
mii.typedata = (DWORD)"幫助";
mii.hsubmenu = Createpmenuabout ();
InsertMenuItem(hmnu, 2, TRUE, &mii);
return hmnu;
}
static CTRLDATA Ctrlcalc[] =
{
{
CTRL_SLEDIT,
WS_VISIBLE | ES_RIGHT | WS_BORDER,
30, 5, 260, 25,
IDC_RESULT,
"0",
0
},
{
CTRL_BUTTON,
WS_CHILD | WS_TABSTOP | WS_VISIBLE | BS_NOTIFY | BS_PUSHBUTTON,
75, 35, 65, 25,
IDC_BUTTON+0,
"Backspace",
0
},
{
CTRL_BUTTON,
WS_CHILD | WS_TABSTOP | WS_VISIBLE | BS_PUSHBUTTON,
150, 35, 65, 25,
IDC_BUTTON+1,
"CE",
0
},
{
CTRL_BUTTON,
WS_CHILD | WS_TABSTOP | WS_VISIBLE | BS_PUSHBUTTON,
225, 35, 65, 25,
IDC_BUTTON+2,
"C",
0
},
{
CTRL_BUTTON,
WS_CHILD | WS_TABSTOP | WS_VISIBLE | BS_PUSHBUTTON,
75, 65, 35, 25,
IDC_BUTTON+3,
"7",
0
},
{
CTRL_BUTTON,
WS_CHILD | WS_TABSTOP | WS_VISIBLE | BS_PUSHBUTTON,
75, 95, 35, 25,
IDC_BUTTON+4,
"4",
0
},
{
CTRL_BUTTON,
WS_CHILD | WS_TABSTOP | WS_VISIBLE | BS_PUSHBUTTON,
75, 125, 35, 25,
IDC_BUTTON+5,
"1",
0
},
{
CTRL_BUTTON,
WS_CHILD | WS_TABSTOP | WS_VISIBLE | BS_PUSHBUTTON,
75, 155, 35, 25,
IDC_BUTTON+6,
"0",
0
},
{
CTRL_BUTTON,
WS_CHILD | WS_TABSTOP | WS_VISIBLE | BS_PUSHBUTTON,
120, 65, 35, 25,
IDC_BUTTON+7,
"8",
0
},
{
CTRL_BUTTON,
WS_CHILD | WS_TABSTOP | WS_VISIBLE | BS_PUSHBUTTON,
120, 95, 35, 25,
IDC_BUTTON+8,
"5",
0
},
{
CTRL_BUTTON,
WS_CHILD | WS_TABSTOP | WS_VISIBLE | BS_PUSHBUTTON,
120, 125, 35, 25,
IDC_BUTTON+9,
"2",
0
},
{
CTRL_BUTTON,
WS_CHILD | WS_TABSTOP | WS_VISIBLE | BS_PUSHBUTTON,
120, 155, 35, 25,
IDC_BUTTON+10,
"+/-",
0
},
{
CTRL_BUTTON,
WS_CHILD | WS_TABSTOP | WS_VISIBLE | BS_PUSHBUTTON,
165, 65, 35, 25,
IDC_BUTTON+11,
"9",
0
},
{
CTRL_BUTTON,
WS_CHILD | WS_TABSTOP | WS_VISIBLE | BS_PUSHBUTTON,
165, 95, 35, 25,
IDC_BUTTON+12,
"6",
0
},
{
CTRL_BUTTON,
WS_CHILD | WS_TABSTOP | WS_VISIBLE | BS_PUSHBUTTON,
165, 125, 35, 25,
IDC_BUTTON+13,
"3",
0
},
{
CTRL_BUTTON,
WS_CHILD | WS_TABSTOP | WS_VISIBLE | BS_PUSHBUTTON,
165, 155, 35, 25,
IDC_BUTTON+14,
".",
0
},
{
CTRL_BUTTON,
WS_CHILD | WS_TABSTOP | WS_VISIBLE | BS_PUSHBUTTON,
210, 65, 35, 25,
IDC_BUTTON+15,
"/",
0
},
{
CTRL_BUTTON,
WS_CHILD | WS_TABSTOP | WS_VISIBLE | BS_PUSHBUTTON,
210, 95, 35, 25,
IDC_BUTTON+16,
"*",
0
},
{
CTRL_BUTTON,
WS_CHILD | WS_TABSTOP | WS_VISIBLE | BS_PUSHBUTTON,
210, 125, 35, 25,
IDC_BUTTON+17,
"-",
0
},
{
CTRL_BUTTON,
WS_CHILD | WS_TABSTOP | WS_VISIBLE | BS_PUSHBUTTON,
210, 155, 35, 25,
IDC_BUTTON+18,
"+",
0
},
{
CTRL_BUTTON,
WS_CHILD | WS_TABSTOP | WS_VISIBLE | BS_PUSHBUTTON,
255, 65, 35, 25,
IDC_BUTTON+19,
"sqrt",
0
},
{
CTRL_BUTTON,
WS_CHILD | WS_TABSTOP | WS_VISIBLE | BS_PUSHBUTTON,
255, 95, 35, 25,
IDC_BUTTON+20,
"%",
0
},
{
CTRL_BUTTON,
WS_CHILD | WS_TABSTOP | WS_VISIBLE | BS_PUSHBUTTON,
255, 125, 35, 25,
IDC_BUTTON+21,
"1/x",
0
},
{
CTRL_BUTTON,
WS_CHILD | WS_TABSTOP | WS_VISIBLE | BS_PUSHBUTTON,
255, 155, 35, 25,
IDC_BUTTON+22,
"=",
0
},
{
CTRL_BUTTON,
WS_CHILD | WS_TABSTOP | WS_VISIBLE | BS_PUSHBUTTON,
30, 35, 35, 25,
IDC_BUTTON+23,
"",
0
},
{
CTRL_BUTTON,
WS_CHILD | WS_CHILD | WS_TABSTOP | WS_VISIBLE | BS_PUSHBUTTON,
30, 65, 35, 25,
IDC_BUTTON+24,
"MC",
0
},
{
CTRL_BUTTON,
WS_CHILD | WS_TABSTOP | WS_VISIBLE | BS_PUSHBUTTON,
30, 95, 35, 25,
IDC_BUTTON+25,
"MR",
0
},
{
CTRL_BUTTON,
WS_CHILD | WS_TABSTOP | WS_VISIBLE | BS_PUSHBUTTON,
30, 125, 35, 25,
IDC_BUTTON+26,
"MS",
0
},
{
CTRL_BUTTON,
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -