⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 phone.c.bak

📁 基于minigui的手机程序开发 实现电话拨打功能
💻 BAK
字号:
#include <minigui/common.h> //包含Minigui常用的宏及数据类型的定义
#include <minigui/minigui.h>//包含全局的和通用的接口函数
#include <minigui/gdi.h>//包含对图形的接口声明
#include <minigui/window.h>//包含和窗口有关的宏、数据类型、数据结构的定义以及函数的声明
#include <minigui/control.h>//包含内建控件的接口定义
#include <string.h>
#define IDC_BUTTON1 101
#define IDC_BUTTON2 102
#define IDC_BUTTON3 103
#define IDC_BUTTON4 104
#define IDC_BUTTON5 105
#define IDC_BUTTON6 106
#define IDC_BUTTON7 107
#define IDC_BUTTON8 108
#define IDC_BUTTON9 109
#define IDC_BUTTON10 110
#define IDC_BUTTON11 111
#define IDC_BUTTON12 112
#define IDC_BUTTON13 113
#define IDC_BUTTON14 114
#define IDC_BUTTON15 115
#define IDC_BUTTON16 116
#define IDC_SLEDIT 117
#include "comm.h"

static int HelloWinProc(HWND hWnd, int message, WPARAM wParam, LPARAM lParam)
{     
			HWND hdc;
			char buff[50]={'\0'};
			char *pb;
			pb=&buff[0];
			int num=0;
			char c;
      switch (message) {
			case MSG_CREATE:            

				 CreateWindow (CTRL_SLEDIT, 
         "",
         WS_VISIBLE | ES_LEFT|WS_BORDER,                            				
				 IDC_SLEDIT,
				 50, 15, 200, 25, 
				 hWnd,
				 0);
				 
				 CreateWindow (CTRL_BUTTON, 
         "拨打",
         WS_VISIBLE | ES_LEFT,                            				
				 IDC_BUTTON1,
				 10, 50, 60, 30, 
				 hWnd,
				 0);
				 
			   CreateWindow (CTRL_BUTTON, 
         " 1 ",
         WS_VISIBLE | ES_LEFT,                            				
				 IDC_BUTTON2,
				 95, 50, 50, 30, 
				 hWnd,
				 0);
				 
				 CreateWindow (CTRL_BUTTON, 
         " 2 ",
         WS_VISIBLE | ES_LEFT,                            				
				 IDC_BUTTON3,
				 155, 50, 50, 30, 
				 hWnd,
				 0);
				 
				 CreateWindow (CTRL_BUTTON, 
         " 3 ",
         WS_VISIBLE | ES_LEFT,                            				
				 IDC_BUTTON4,
				 215, 50, 50, 30, 
				 hWnd,
				 0);
				 
				 CreateWindow (CTRL_BUTTON, 
         "电话本",
         WS_VISIBLE | ES_LEFT,                            				
				 IDC_BUTTON5,
				 10, 90, 60, 30, 
				 hWnd,
				 0);
				 
			   CreateWindow (CTRL_BUTTON, 
         " 4 ",
         WS_VISIBLE | ES_LEFT,                            				
				 IDC_BUTTON6,
				 95, 90, 50, 30, 
				 hWnd,
				 0);
				 
				 CreateWindow (CTRL_BUTTON, 
         " 5 ",
         WS_VISIBLE | ES_LEFT,                            				
				 IDC_BUTTON7,
				 155, 90, 50, 30, 
				 hWnd,
				 0);
				 
				 CreateWindow (CTRL_BUTTON, 
         " 6 ",
         WS_VISIBLE | ES_LEFT,                            				
				 IDC_BUTTON8,
				 215, 90, 50, 30, 
				 hWnd,
				 0);
				 
				 CreateWindow (CTRL_BUTTON, 
         "C",
         WS_VISIBLE | ES_LEFT,                            				
				 IDC_BUTTON9,
				 10, 130, 60, 30, 
				 hWnd,
				 0);
				 
			   CreateWindow (CTRL_BUTTON, 
         " 7 ",
         WS_VISIBLE | ES_LEFT,                            				
				 IDC_BUTTON10,
				 95, 130, 50, 30, 
				 hWnd,
				 0);
				 
				 CreateWindow (CTRL_BUTTON, 
         " 8 ",
         WS_VISIBLE | ES_LEFT,                            				
				 IDC_BUTTON11,
				 155, 130, 50, 30, 
				 hWnd,
				 0);
				 
				 CreateWindow (CTRL_BUTTON, 
         " 9 ",
         WS_VISIBLE | ES_LEFT,                            				
				 IDC_BUTTON12,
				 215, 130, 50, 30, 
				 hWnd,
				 0);
				 
				 CreateWindow (CTRL_BUTTON, 
         "挂断",
         WS_VISIBLE | ES_LEFT,                            				
				 IDC_BUTTON13,
				 10, 170, 60, 30, 
				 hWnd,
				 0);
				 
			   CreateWindow (CTRL_BUTTON, 
         " * ",
         WS_VISIBLE | ES_LEFT,                            				
				 IDC_BUTTON14,
				 95, 170, 50, 30, 
				 hWnd,
				 0);
				 
				 CreateWindow (CTRL_BUTTON, 
         " 0 ",
         WS_VISIBLE | ES_LEFT,                            				
				 IDC_BUTTON15,
				 155, 170, 50, 30, 
				 hWnd,
				 0);
				 
				 CreateWindow (CTRL_BUTTON, 
         " # ",
         WS_VISIBLE | ES_LEFT,                            				
				 IDC_BUTTON16,
				 215, 170, 50, 30, 
				 hWnd,
				 0);

			   break;
			   case MSG_ERASEBKGND:
		 				{
		 					hdc=GetClientDC(hWnd);
		 					FillBoxWithBitmap(hdc,0,0,320,240,&bmp);
		 					Rectangle(hdc,0,0,320,240);
		 					ReleaseDC(hdc);
		 					return ;
		 				}	
		 		break;
			case MSG_COMMAND:
		  	switch(wParam)
		  	{
		  		case IDC_BUTTON2:
		  			{
		  				GetWindowText (GetDlgItem(hWnd,IDC_SLEDIT),buff,50);
		  				printf("%s\n",buff);
		  				strcat(buff,"1");
		  				SetWindowText(GetDlgItem(hWnd,IDC_SLEDIT),buff);
		  				break;
		  			}
		  			case IDC_BUTTON3:
		  			{
		  				GetWindowText (GetDlgItem(hWnd,IDC_SLEDIT),buff,50);
		  				printf("%s\n",buff);
		  				strcat(buff,"2");
		  				SetWindowText(GetDlgItem(hWnd,IDC_SLEDIT),buff);
		  				break;
		  			}
		  			case IDC_BUTTON4:
		  			{
		  				GetWindowText (GetDlgItem(hWnd,IDC_SLEDIT),buff,50);
		  				printf("%s\n",buff);
		  				strcat(buff,"3");
		  				SetWindowText(GetDlgItem(hWnd,IDC_SLEDIT),buff);
		  				break;
		  			}
		  			case IDC_BUTTON6:
		  			{
		  				GetWindowText (GetDlgItem(hWnd,IDC_SLEDIT),buff,50);
		  				printf("%s\n",buff);
		  				strcat(buff,"4");
		  				SetWindowText(GetDlgItem(hWnd,IDC_SLEDIT),buff);
		  				break;
		  			}
		  			case IDC_BUTTON7:
		  			{
		  				GetWindowText (GetDlgItem(hWnd,IDC_SLEDIT),buff,50);
		  				printf("%s\n",buff);
		  				strcat(buff,"5");
		  				SetWindowText(GetDlgItem(hWnd,IDC_SLEDIT),buff);
		  				break;
		  			}
		  			case IDC_BUTTON8:
		  			{
		  				GetWindowText (GetDlgItem(hWnd,IDC_SLEDIT),buff,50);
		  				printf("%s\n",buff);
		  				strcat(buff,"6");
		  				SetWindowText(GetDlgItem(hWnd,IDC_SLEDIT),buff);
		  				break;
		  			}
		  			case IDC_BUTTON9:
		  			{
		  		    GetWindowText (GetDlgItem(hWnd,IDC_SLEDIT),buff,50);
		  				num=strlen(buff);
		  				buff[num-1]='\0';
		  			  SetWindowText(GetDlgItem(hWnd,IDC_SLEDIT),buff);
		
		  			}
		  			break;
		  			
		  			case IDC_BUTTON10:
		  			{
		  				GetWindowText (GetDlgItem(hWnd,IDC_SLEDIT),buff,50);
		  				printf("%s\n",buff);
		  				strcat(buff,"7");
		  				SetWindowText(GetDlgItem(hWnd,IDC_SLEDIT),buff);
		  				break;
		  			}
		  			case IDC_BUTTON11:
		  			{
		  				GetWindowText (GetDlgItem(hWnd,IDC_SLEDIT),buff,50);
		  				printf("%s\n",buff);
		  				strcat(buff,"8");
		  				SetWindowText(GetDlgItem(hWnd,IDC_SLEDIT),buff);
		  				break;
		  			}
		  			case IDC_BUTTON12:
		  			{
		  				GetWindowText (GetDlgItem(hWnd,IDC_SLEDIT),buff,50);
		  				printf("%s\n",buff);
		  				strcat(buff,"9");
		  				SetWindowText(GetDlgItem(hWnd,IDC_SLEDIT),buff);
		  				break;
		  			}
		  			case IDC_BUTTON14:
		  			{
		  				GetWindowText (GetDlgItem(hWnd,IDC_SLEDIT),buff,50);
		  				printf("%s\n",buff);
		  				strcat(buff,"*");
		  				SetWindowText(GetDlgItem(hWnd,IDC_SLEDIT),buff);
		  				break;
		  			}
		  			case IDC_BUTTON15:
		  			{
		  				GetWindowText (GetDlgItem(hWnd,IDC_SLEDIT),buff,50);
		  				printf("%s\n",buff);
		  				strcat(buff,"0");
		  				SetWindowText(GetDlgItem(hWnd,IDC_SLEDIT),buff);
		  				break;
		  			}
		  			case IDC_BUTTON16:
		  			{
		  				GetWindowText (GetDlgItem(hWnd,IDC_SLEDIT),buff,50);
		  				printf("%s\n",buff);
		  				strcat(buff,"#");
		  				SetWindowText(GetDlgItem(hWnd,IDC_SLEDIT),buff);
		  				break;
		  			}
		  		case IDC_BUTTON1:
		  			{
		  					GetWindowText (GetDlgItem(hWnd,IDC_SLEDIT),buff,50);
		  					printf("%s\n",buff);
		  				//	gprs_call(buff, strlen(buff));
		  					callWindow(name,telnumber);
		  					printf("Ring........................\n");
		  					
		  					break;
		  					
		  			}
		  		
        }      	
		  break;
      
      case MSG_CLOSE:
      			UnloadBitmap (&bmp);
						DestroyMainWindow (hWnd);//摧毁主窗口
            PostQuitMessage (hWnd);//发送MSG_QUIT消息
            return 0;
    }
    return DefaultMainWinProc(hWnd, message, wParam, lParam);//默认消息处理
}

int phone()
{
    MSG Msg; //定义消息变量
    HWND hMainWnd; //定义句柄
    MAINWINCREATE CreateInfo;//定义窗口信息的结构体变量 CreateInfo
    CreateInfo.dwStyle = WS_VISIBLE | WS_BORDER | WS_CAPTION;//窗口风格
    CreateInfo.dwExStyle = WS_EX_NONE;//窗口的附加风格
    CreateInfo.spCaption = "电话键盘";//窗口的标题
    CreateInfo.hMenu = 0;//窗口上的菜单句柄
    CreateInfo.hCursor = GetSystemCursor(0);//在窗口中所使用的鼠标光标句柄
    CreateInfo.hIcon = 0;//程序的图标
    CreateInfo.MainWindowProc = HelloWinProc;//该窗口的消息处理函数指针
    CreateInfo.lx = 0;//窗口左上角相对屏幕的绝对横坐标,以象素点表示
    CreateInfo.ty = 0;//窗口左上角相对屏幕的绝对纵坐标,以象素点表示
    CreateInfo.rx = 320;//窗口右下角相对屏幕的绝对横坐标,以象素点表示
    CreateInfo.by = 240;//窗口右下角相对屏幕的绝对纵坐标,以象素点表示
    CreateInfo.iBkColor = COLOR_lightgray;//窗口背景颜色
    CreateInfo.dwAddData = 0;//附带给窗口的一个 32 位值
    CreateInfo.hHosting = HWND_DESKTOP;  //窗口消息队列的托管窗口
    if (LoadBitmap (HDC_SCREEN, &bmp, "fan1.jpg"))//加载位图,在创建窗口之前创建
    return 1;
    
    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 + -