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

📄 desktop.c.bak

📁 smartarm2200开发板上做的一个程序
💻 BAK
字号:
/***************************************************************************** 文件名:desktop.c* 功能:MiniGUI应用例子。*       创建一个无边框和标题的桌面窗口,然后在桌面上显示6个图标按钮,*       使用按键进行选择操作。****************************************************************************//* 包含MiniGUI的配置头文件(编译配置选项) */#include "MiniGUI_config.h"#include "stdlib.h"/* 包含MiniGUI头文件 */#include "common.h"#include "minigui.h"#include "gdi.h"#include "window.h"#include "control.h"/* 主窗口起始位置及大小 */#define  MWINDOW_LX	0      	/* 窗口左边框的x值 */#define  MWINDOW_TY	0      	/* 窗口上边框的y值 */#define  MWINDOW_RX	239     /* 窗口右边框的x值 */#define  MWINDOW_BY	319     /* 窗口下边框的y值 *//* 包含各图片资源文件 */#include  "11.c"#include  "12.c"#include  "13.c"#include  "14.c"#include  "15.c"#include  "16.c"#include  "21.c"#include  "22.c"#include  "23.c"#include  "24.c"#include  "25.c"#include  "26.c"#include  "31.c"#include  "32.c"#include  "33.c"#include  "34.c"#include  "35.c"#include  "36.c"#include  "41.c"#include  "42.c"#include  "43.c"#include  "44.c"#include  "45.c"#include  "46.c"#include  "51.c"#include  "52.c"#include  "53.c"#include  "54.c"#include  "55.c"#include  "56.c"#include  "61.c"#include  "62.c"#include  "63.c"#include  "64.c"#include  "65.c"#include  "66.c"#include  "start.c"HWND hMainWnd;      // 主窗口句柄/***************************************************************************** 名称:WinProc()* 功能:主窗口过程函数。*       处理MSG_PAINT消息,在窗口中显示6个图标。*       处理MSG_CHAR消息,进行图标菜单选择操作。* 入口参数:hWnd        窗口句柄*           message     消息*           wParam      消息附加参数1(对于不同的消息,有不同的用途)*           lParam      消息附加参数2(对于不同的消息,有不同的用途)* 出口参数:消息已处理则返回0。****************************************************************************/static int  WinProc(HWND hWnd, int message, WPARAM wParam, LPARAM lParam){   static BITMAP  s_startbmp;    static BITMAP  s_bmp[36];    static PLOGFONT s_font, s_font1;    int n=0;    int	 i;    HDC  hdc;   // 定义一个图形设备上下文对象,输出字符时需要。        switch(message)    {   case MSG_CREATE:            // 装载图片资源            LoadBitmapFromMem(HDC_SCREEN, &s_startbmp, start_data, start_no, "bmp");            LoadBitmapFromMem(HDC_SCREEN, &s_bmp[0], no11_data, sz_no11, "bmp");            LoadBitmapFromMem(HDC_SCREEN, &s_bmp[1], no12_data, sz_no12, "bmp");            LoadBitmapFromMem(HDC_SCREEN, &s_bmp[2], no13_data, sz_no13, "bmp");            LoadBitmapFromMem(HDC_SCREEN, &s_bmp[3], no14_data, sz_no14, "bmp");            LoadBitmapFromMem(HDC_SCREEN, &s_bmp[4], no15_data, sz_no15, "bmp");            LoadBitmapFromMem(HDC_SCREEN, &s_bmp[5], no16_data, sz_no16, "bmp");            /********************************************************************/            LoadBitmapFromMem(HDC_SCREEN, &s_bmp[6], no21_data, sz_no21, "bmp");            LoadBitmapFromMem(HDC_SCREEN, &s_bmp[7], no22_data, sz_no22, "bmp");            LoadBitmapFromMem(HDC_SCREEN, &s_bmp[8], no23_data, sz_no23, "bmp");            LoadBitmapFromMem(HDC_SCREEN, &s_bmp[9], no24_data, sz_no24, "bmp");            LoadBitmapFromMem(HDC_SCREEN, &s_bmp[10], no25_data, sz_no25, "bmp");            LoadBitmapFromMem(HDC_SCREEN, &s_bmp[11], no26_data, sz_no26, "bmp");            /********************************************************************/            LoadBitmapFromMem(HDC_SCREEN, &s_bmp[12], no31_data, sz_no31, "bmp");            LoadBitmapFromMem(HDC_SCREEN, &s_bmp[13], no32_data, sz_no32, "bmp");            LoadBitmapFromMem(HDC_SCREEN, &s_bmp[14], no33_data, sz_no33, "bmp");            LoadBitmapFromMem(HDC_SCREEN, &s_bmp[15], no34_data, sz_no34, "bmp");            LoadBitmapFromMem(HDC_SCREEN, &s_bmp[16], no35_data, sz_no35, "bmp");            LoadBitmapFromMem(HDC_SCREEN, &s_bmp[17], no36_data, sz_no36, "bmp");            /********************************************************************/            LoadBitmapFromMem(HDC_SCREEN, &s_bmp[18], no41_data, sz_no41, "bmp");            LoadBitmapFromMem(HDC_SCREEN, &s_bmp[19], no42_data, sz_no42, "bmp");            LoadBitmapFromMem(HDC_SCREEN, &s_bmp[20], no43_data, sz_no43, "bmp");            LoadBitmapFromMem(HDC_SCREEN, &s_bmp[21], no44_data, sz_no44, "bmp");            LoadBitmapFromMem(HDC_SCREEN, &s_bmp[22], no45_data, sz_no45, "bmp");            LoadBitmapFromMem(HDC_SCREEN, &s_bmp[23], no46_data, sz_no46, "bmp");            /********************************************************************/            LoadBitmapFromMem(HDC_SCREEN, &s_bmp[24], no51_data, sz_no51, "bmp");            LoadBitmapFromMem(HDC_SCREEN, &s_bmp[25], no52_data, sz_no52, "bmp");            LoadBitmapFromMem(HDC_SCREEN, &s_bmp[26], no53_data, sz_no53, "bmp");            LoadBitmapFromMem(HDC_SCREEN, &s_bmp[27], no54_data, sz_no54, "bmp");            LoadBitmapFromMem(HDC_SCREEN, &s_bmp[28], no55_data, sz_no55, "bmp");            LoadBitmapFromMem(HDC_SCREEN, &s_bmp[29], no56_data, sz_no56, "bmp");            /********************************************************************/            LoadBitmapFromMem(HDC_SCREEN, &s_bmp[30], no61_data, sz_no61, "bmp");            LoadBitmapFromMem(HDC_SCREEN, &s_bmp[31], no62_data, sz_no62, "bmp");            LoadBitmapFromMem(HDC_SCREEN, &s_bmp[32], no63_data, sz_no63, "bmp");            LoadBitmapFromMem(HDC_SCREEN, &s_bmp[33], no64_data, sz_no64, "bmp");            LoadBitmapFromMem(HDC_SCREEN, &s_bmp[34], no65_data, sz_no65, "bmp");            LoadBitmapFromMem(HDC_SCREEN, &s_bmp[35], no66_data, sz_no66, "bmp");                        break;                         case MSG_PAINT:	        hdc = BeginPaint(hWnd);         // 获得设备hdc		        	        FillBoxWithBitmap(hdc, 0, 0, 240, 320, &s_startbmp); 	        	     	       // while(1)	       // {	          for( i=0;i<6;i++)	          {	            FillBoxWithBitmap(hdc, 82,128, 76,64, &s_bmp[i]);	          }	       // } 	     	        EndPaint(hWnd, hdc);            // 释放设备hdc	        break;	        	    case MSG_CHAR:	    	            n=rand()%6;                   	    	hdc = BeginPaint(hWnd);         // 获得设备hdc		    	for( i=0;i<6;i++)	          {	            FillBoxWithBitmap(hdc, 82,128, 76,64, &s_bmp[i]);	          }	          switch(n)            {   case 1:   	// 左移                    FillBoxWithBitmap(hdc, 82,128, 76,64, &s_bmp[0]);                	break;                case 2:		// 下移                     FillBoxWithBitmap(hdc, 82,128, 76,64, &s_bmp[1]);                	break;                case 3:		// 右移                     FillBoxWithBitmap(hdc, 82,128, 76,64, &s_bmp[2]);                	break;                case 4:		// 右移                     FillBoxWithBitmap(hdc, 82,128, 76,64, &s_bmp[3]);                	break;                case 5:		// 右移                     FillBoxWithBitmap(hdc, 82,128, 76,64, &s_bmp[4]);                	break;                 case 6:		// 右移                      FillBoxWithBitmap(hdc, 82,128, 76,64, &s_bmp[5]);                	break;                default:                	break;        	}  	        		        EndPaint(hWnd, hdc);            // 释放设备hdc	    		    	break;        case MSG_CLOSE:            UnloadBitmap(&s_startbmp);            for(i=0; i<6; i++) UnloadBitmap(&s_bmp[i]);            DestroyLogFont(s_font);            DestroyLogFont(s_font1);	        DestroyMainWindow(hWnd);        // 销毁主窗口	        PostQuitMessage(hWnd);          // 发送MSG_QUIT消息,通知"消息循环"结束	        break;       default:	        return(DefaultMainWinProc(hWnd, message, wParam, lParam));    }    return(0);}/***************************************************************************** 名称:InitMainWindow()* 功能:建立主窗口。* 入口参数:无* 出口参数:建立成功返回1,否则返回0。****************************************************************************/int InitMainWindow(void){   MAINWINCREATE  window_info;    window_info.dwStyle = WS_VISIBLE;      window_info.dwExStyle = WS_EX_NONE;             window_info.spCaption = "";              window_info.hMenu = 0;                          window_info.hCursor = GetSystemCursor(0);       window_info.hIcon = 0;                          window_info.MainWindowProc = WinProc;           window_info.lx = MWINDOW_LX;                    window_info.ty = MWINDOW_TY;    window_info.rx = MWINDOW_RX;    window_info.by = MWINDOW_BY;    window_info.iBkColor = COLOR_lightgray;       window_info.dwAddData = 0;    window_info.hHosting = HWND_DESKTOP;                hMainWnd = CreateMainWindow(&window_info);    if(hMainWnd == HWND_INVALID) return(0);       else return(1);}/***************************************************************************** 名称:MiniGUIMain()* 功能:MiniGUI程序入口点。* 入口参数:argc    参数个数*           argv    参数字符串指针* 出口参数:返回0。****************************************************************************/int  MiniGUIMain(int argc, const char *argv[]){   MSG Msg;#ifdef _LITE_VERSION    SetDesktopRect(0,0, 800,600);#endif    InitMainWindow();       // 建立主窗口    ShowWindow(hMainWnd, SW_SHOWNORMAL);    // 显示主窗口        /* 消息循环 */    while(GetMessage(&Msg, hMainWnd))     {   TranslateMessage(&Msg);        DispatchMessage(&Msg);    }        MainWindowThreadCleanup(hMainWnd);    return(0);}/* 定义桌面接口函数 */#ifndef _LITE_VERSION		#include "dti.c"#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -