📄 input.c
字号:
/***************************************************************************** 文件名:Input.C* 功能:MiniGUI应用例子。* 创建对话框,实现长度"毫米"-"英寸"的转换。* 说明:使用MiniGUI for uC/OS-II,使用ADS 1.2编译器。****************************************************************************//* 包含MiniGUI的配置头文件(编译配置选项) */#include "MiniGUI_config.h"/* 包含MiniGUI头文件 */#include "common.h"#include "minigui.h"#include "gdi.h"#include "window.h"#include "control.h"#define IDC_STATIC1 1000#define IDC_STATIC2 1001#define IDC_EDIT1 1010#define IDC_DU 1030#define IDC_HU 1040/* 对话框属性设置 */static DLGTEMPLATE MyDlgTEMP ={ WS_BORDER | WS_CAPTION, WS_EX_NONE, 10, 10, 220, 160, "GPRS演示程序", 0, 0, 5, NULL, 0};/* 对话框内的控件定义 */static CTRLDATA MyCtrlData[] ={ { "static", WS_VISIBLE | SS_SIMPLE, 10, 10, 180, 16, IDC_STATIC1, "请输入电话号码", 0 }, { "static", WS_VISIBLE | SS_SIMPLE, 10, 70, 180, 16, IDC_STATIC2, "说明:D键为退格键.", 0 }, { "edit", WS_VISIBLE | WS_BORDER | WS_TABSTOP, 10, 40, 160, 24, IDC_EDIT1, NULL, 0 }, { "button", WS_VISIBLE | WS_TABSTOP | BS_DEFPUSHBUTTON, 30, 100, 60, 25, IDC_DU, "拔号", 0 }, { "button", WS_VISIBLE | WS_TABSTOP, 130, 100, 60, 25, IDC_HU, "挂机", 0 },};#define IO0SET (*((volatile unsigned long *) 0xE0028004)) /* Not used for lpc210x*/#define IO0DIR (*((volatile unsigned long *) 0xE0028008)) /* Not used for lpc210x*/#define IO0CLR (*((volatile unsigned long *) 0xE002800C)) /* Not used for lpc210x*//***************************************************************************** 名称:DialogBoxProc()* 功能:对话框过程函数。* 在MSG_INITDIALOG消息中保存启动对话框时传递过来的lParam参数。* 在MSG_COMMAND消息中处理IDOK命令,将处理后的数据返回主程序(length变量)。* 入口参数:hWnd 窗口句柄* message 消息* wParam 消息附加参数1* lParam 消息附加参数2* 出口参数:返回消息处理结果。****************************************************************************/static int DialogBoxProc (HWND hDlg, int message, WPARAM wParam, LPARAM lParam){ extern void OSTimeDly (unsigned short);extern unsigned char ModemDialUp(char Number[]);extern GPRSHangUpTheCall(void);char disp[20]; switch (message) { case MSG_INITDIALOG: IO0DIR = IO0DIR | (1<<7); // *************** IO0SET = (1<<7); // *************** SendMessage(GetDlgItem(hDlg, IDC_EDIT1), EM_LIMITTEXT, 15, 0L); // 限制输入字符个数 return(1); case MSG_COMMAND: switch (LOWORD(wParam)) { case IDC_HU: // 挂机操作 IO0CLR = (1<<7); // *************** OSTimeDly(50); // *************** IO0SET = (1<<7); // *************** GPRSHangUpTheCall(); break; case IDC_DU: // 拔号操作 IO0CLR = (1<<7); // *************** OSTimeDly(50); // *************** IO0SET = (1<<7); // *************** GetWindowText(GetDlgItem(hDlg, IDC_EDIT1), disp, 15); // 读取电话号码 ModemDialUp(disp); break; default: break; } break; case MSG_CLOSE: EndDialog (hDlg, IDCANCEL); break; default: break; } return DefaultDialogProc (hDlg, message, wParam, lParam);}/***************************************************************************** 名称:InitDialogBox()* 功能:初始化对话框,然后启动对话框。 * 入口参数:hWnd 父窗口句柄* 出口参数:无****************************************************************************/static void InitDialogBox(HWND hWnd){ MyDlgTEMP.controls = MyCtrlData; DialogBoxIndirectParam(&MyDlgTEMP, hWnd, DialogBoxProc, (LPARAM)0);}/***************************************************************************** 名称:MiniGUIMain()* 功能:MiniGUI程序入口点。* 入口参数:argc 参数个数* argv 参数字符串指针* 出口参数:返回0。****************************************************************************/int MiniGUIMain(int argc, const char *argv[]){ /* 虽然MiniGUI for uC/OS-II不支持"MiniGUI-Lite模式", 但为了保持代码的移植性,此段不要删除 */#ifdef _LITE_VERSION SetDesktopRect(0,0, 800,600);#endif InitDialogBox(HWND_DESKTOP); return(0);}/* 定义桌面接口函数 */#ifndef _LITE_VERSION #include "dti.c"#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -