📄 mytelephone.c
字号:
#include "myTelephone.h"
#include <stdio.h>
#include <string.h>
#include <minigui/common.h>
#include <minigui/minigui.h>
#include <minigui/gdi.h>
#include <minigui/window.h>
#include <minigui/mywindows.h>
#include <minigui/control.h>
#include <minigui/dti.c>
#include "./gprs.h"
#include "./tty.h"
//设置语音通讯ID
#define IDM_MYSTATIC 111 // 输入号码
#define IDM_MYEDIT 110 // 文本框
#define IDM_DIALOG 10 // 拨号
#define IDM_CANCEL 11 // 取消
#define IDM_HOLD 12 // 挂断
#define IDM_NO1 201 // 1
#define IDM_NO2 202 // 2
#define IDM_NO3 203 // 3
#define IDM_NO4 204 // 4
#define IDM_NO5 205 // 5
#define IDM_NO6 206 // 6
#define IDM_NO7 207 // 7
#define IDM_NO8 208 // 8
#define IDM_NO9 209 // 9
#define IDM_NO0 200 // 0
#define IDM_ASTERISK 13 // *
#define IDM_SHARP 14 // #
static char buf[30] = {'\0'};
static char buffer[30] = {'\0'};
static HWND EDIT;
static int bufNo=0;
static int HelloWinProc(HWND hWnd, int message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case MSG_CREATE:
CreateWindow( CTRL_STATIC,
"请输入号码:",
WS_VISIBLE | SS_CENTER,
IDM_MYSTATIC,
5,32.5,100,20,
hWnd,
0);
EDIT = CreateWindow ( CTRL_EDIT,
"",
WS_VISIBLE | WS_BORDER,
IDM_MYEDIT,
100, 30, 170, 25,
hWnd,
0);
CreateWindow ( CTRL_BUTTON,
"Dialog",
WS_VISIBLE | SS_CENTER ,
IDM_DIALOG,
120, 80, 40, 25,
hWnd,
0);
CreateWindow( CTRL_BUTTON,
"Cancel",
WS_VISIBLE | SS_CENTER ,
IDM_CANCEL,
165, 80, 40, 25,
hWnd,
0);
CreateWindow( CTRL_BUTTON,
"Hold",
WS_VISIBLE | SS_CENTER ,
IDM_HOLD,
210, 80, 40, 25,
hWnd,
0);
CreateWindow ( CTRL_BUTTON,
"1",
WS_VISIBLE | SS_CENTER ,
IDM_NO1,
120, 110, 40, 20,
hWnd,
0);
CreateWindow ( CTRL_BUTTON,
"2",
WS_VISIBLE | SS_CENTER ,
IDM_NO2,
165, 110, 40, 20,
hWnd,
0);
CreateWindow ( CTRL_BUTTON,
"3",
WS_VISIBLE | SS_CENTER ,
IDM_NO3,
210, 110, 40, 20,
hWnd,
0);
//4
CreateWindow ( CTRL_BUTTON,
"4",
WS_VISIBLE | SS_CENTER ,
IDM_NO4,
120, 133, 40, 20,
hWnd,
0);
CreateWindow ( CTRL_BUTTON,
"5",
WS_VISIBLE | SS_CENTER ,
IDM_NO5,
165, 133, 40, 20,
hWnd,
0);
CreateWindow ( CTRL_BUTTON,
"6",
WS_VISIBLE | SS_CENTER ,
IDM_NO6,
210, 133, 40, 20,
hWnd,
0);
CreateWindow ( CTRL_BUTTON,
"7",
WS_VISIBLE | SS_CENTER ,
IDM_NO7,
120, 156, 40, 20,
hWnd,
0);
CreateWindow ( CTRL_BUTTON,
"8",
WS_VISIBLE | SS_CENTER ,
IDM_NO8,
165, 156, 40, 20,
hWnd,
0);
CreateWindow ( CTRL_BUTTON,
"9",
WS_VISIBLE | SS_CENTER ,
IDM_NO9,
210, 156, 40, 20,
hWnd,
0);
CreateWindow ( CTRL_BUTTON,
"*",
WS_VISIBLE | SS_CENTER ,
IDM_ASTERISK,
120, 179, 40, 20,
hWnd,
0);
CreateWindow ( CTRL_BUTTON,
"0",
WS_VISIBLE | SS_CENTER ,
IDM_NO0,
165, 179, 40, 20,
hWnd,
0);
CreateWindow ( CTRL_BUTTON,
"#",
WS_VISIBLE | SS_CENTER ,
IDM_SHARP,
210, 179, 40, 20,
hWnd,
0);
break;
case MSG_COMMAND:
switch (wParam)
{
case IDM_NO0:
sprintf(buf, "%d", 0);
GetWindowText(EDIT, buffer, 30);
strcat(buffer, buf);
SetWindowText(EDIT, buffer);
bufNo++;
break;
case IDM_NO1:
sprintf(buf, "%d", 1);
GetWindowText(EDIT, buffer, 30);
strcat(buffer, buf);
SetWindowText(EDIT, buffer);
bufNo++;
break;
case IDM_NO2:
sprintf(buf, "%d", 2);
GetWindowText(EDIT, buffer, 30);
strcat(buffer, buf);
SetWindowText(EDIT, buffer);
bufNo++;
break;
case IDM_NO3:
sprintf(buf, "%d", 3);
GetWindowText(EDIT, buffer, 30);
strcat(buffer, buf);
SetWindowText(EDIT, buffer);
bufNo++;
break;
case IDM_NO4:
sprintf(buf, "%d", 4);
GetWindowText(EDIT, buffer, 30);
strcat(buffer, buf);
SetWindowText(EDIT, buffer);
bufNo++;
break;
case IDM_NO5:
sprintf(buf, "%d", 5);
GetWindowText(EDIT, buffer, 30);
strcat(buffer, buf);
SetWindowText(EDIT, buffer);
bufNo++;
break;
case IDM_NO6:
sprintf(buf, "%d", 6);
GetWindowText(EDIT, buffer, 30);
strcat(buffer, buf);
SetWindowText(EDIT, buffer);
bufNo++;
break;
case IDM_NO7:
sprintf(buf, "%d", 7);
GetWindowText(EDIT, buffer, 30);
strcat(buffer, buf);
SetWindowText(EDIT, buffer);
bufNo++;
break;
case IDM_NO8:
sprintf(buf, "%d", 8);
GetWindowText(EDIT, buffer, 30);
strcat(buffer, buf);
SetWindowText(EDIT, buffer);
bufNo++;
break;
case IDM_NO9:
sprintf(buf, "%d", 9);
GetWindowText(EDIT, buffer, 30);
strcat(buffer, buf);
SetWindowText(EDIT, buffer);
bufNo++;
break;
case IDM_ASTERISK:
sprintf(buf, "%c", '*');
GetWindowText(EDIT, buffer, 30);
strcat(buffer, buf);
SetWindowText(EDIT, buffer);
bufNo++;
break;
case IDM_SHARP:
sprintf(buf, "%c", '#');
GetWindowText(EDIT, buffer, 30);
strcat(buffer, buf);
SetWindowText(EDIT, buffer);
bufNo++;
break;
case IDM_DIALOG:
//拨打电话
GetWindowText(EDIT, buffer, 30);
tty_init();
gprs_init();
gprs_call(buffer, strlen(buffer));
break;
case IDM_CANCEL:
//删除号码
bufNo--;
buffer[bufNo] = '\0';
SetWindowText(EDIT, buffer);
break;
case IDM_HOLD:
//挂断电话
gprs_hold();
tty_end();
break;
}
break;
case MSG_DESTROY:
DestroyAllControls(hWnd);
return 0;
case MSG_CLOSE:
DestroyMainWindow (hWnd);
PostQuitMessage (hWnd);
return 0;
}
return DefaultMainWinProc(hWnd, message, wParam, lParam);
}
int MiniGUIMain (int argc, const char* argv[])
{
MSG Msg;
MAINWINCREATE CreateInfo;
HWND hMainWnd;
CreateInfo.dwStyle = WS_VISIBLE | WS_BORDER | WS_CAPTION;
CreateInfo.dwExStyle = WS_EX_NONE;
CreateInfo.hMenu = 0;
CreateInfo.spCaption = "语音通信系统";
CreateInfo.hCursor = GetSystemCursor(0);
CreateInfo.hIcon = 0;
CreateInfo.MainWindowProc = HelloWinProc;
CreateInfo.lx = 20;
CreateInfo.ty = 20;
CreateInfo.rx = 350;
CreateInfo.by = 260;
CreateInfo.iBkColor = GetWindowElementColor (BKC_CONTROL_DEF);
CreateInfo.dwAddData = 0;
CreateInfo.hHosting = HWND_DESKTOP;
hMainWnd = CreateMainWindow (&CreateInfo);
if (hMainWnd == HWND_INVALID)
{
return -1;
}
ShowWindow(hMainWnd, SW_SHOWNORMAL);
while (GetMessage(&Msg, hMainWnd))
{
TranslateMessage(&Msg);
DispatchMessage(&Msg);
}
MainWindowThreadCleanup (hMainWnd);
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -