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

📄 bmpbkgnd.c

📁 利用MiniGUI变得简单的嵌入式图形界面程序。达到地图移动菜单操作等效果。
💻 C
📖 第 1 页 / 共 3 页
字号:
                        else if(num>101&&num<200)                         {    switch(num){                             case 107:                              FillBoxWithBitmap(hdc,512,0,128,109,&s_noti);break;                             case 106:                              FillBoxWithBitmap(hdc,407,0,233,154,&s_noti);break;                              case 105:                              FillBoxWithBitmap(hdc,475,0,185,125,&s_noti);break;                             default:                                FillBoxWithBitmap(hdc,550,0,90,130,&s_noti);                             }                                                 }                           else if(num>200)                             {                                    if(num ==201)                                        FillBoxWithBitmap(hdc,394,0,246,140,&s_noti);                                 else    FillBoxWithBitmap(hdc,440,0,200,133,&s_noti);                                                             }                    UnloadBitmap(&s_noti);                    KillTimer(hWnd,TIMER4);                    ReleaseDC(hdc);                  }                   if(wParam == TIMER3 )                   {   KillTimer(hWnd,TIMER3);                       q=1;                   }
	         if (wParam == TIMER1)
		 {
		   hdc = GetClientDC(hWnd);                       switch (flag1){
			case 1:
		           LoadBitmapFromFile(HDC_SCREEN,&button1,"./button1/open2.bmp");                           FillBoxWithBitmap (hdc,0,440,640,40,&button1);                             goto aa;                                                      break;                       case 2:                           LoadBitmapFromFile(HDC_SCREEN,&button2,"./button1/big2.bmp");                           p +=0.2;                           printf("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1p=%f\n",p);                           FillBoxWithBitmap (hdc,0,440,640,40,&button2);                                                        break;                       case 3:                           LoadBitmapFromFile(HDC_SCREEN,&button3,"./button1/small2.bmp");                           if(p>0.6) p-=0.2;                           FillBoxWithBitmap (hdc,0,440,640,40,&button3);  
			   break;                       case 4:                           LoadBitmapFromFile(HDC_SCREEN,&ser_menu,"./menu/sm.bmp");                           LoadBitmapFromFile(HDC_SCREEN,&button4,"./button1/find2.bmp");                           FillBoxWithBitmap (hdc,0,440,640,40,&button4);                             FillBoxWithBitmap (hdc,279,368,82,72,&ser_menu);                             flag2 =1;                                  break;                       case 5:                           LoadBitmapFromFile(HDC_SCREEN,&button5,"./button1/quiet2.bmp");                           FillBoxWithBitmap (hdc,0,440,640,40,&button5);                             flag3 =1;                           //id =getpid();                           printf("                    ID =%d\n",id);                           id +=v;                           printf("                    id=%d\n",id);                           sprintf(play,"kill %d",id);                            printf("%s\n",play);                           system(play);                           break;                       case 6:                           LoadBitmapFromFile(HDC_SCREEN,&button6,"./button1/close2.bmp");                           FillBoxWithBitmap (hdc,0,440,640,40,&button6);                                                     flag3 =0;                           break;                       case 7:                           LoadBitmapFromFile(HDC_SCREEN,&button7,"./button1/ad2.bmp");                           LoadBitmapFromFile(HDC_SCREEN,&de_menu,"./menu/de_menu.bmp");                           FillBoxWithBitmap (hdc,0,440,640,40,&button7);                             FillBoxWithBitmap (hdc,558,296,82,144,&de_menu);                           flag2 =2;                           break;                       case 8:                            LoadBitmapFromFile(HDC_SCREEN,&ser_menu1,"./menu/post2.bmp");                            SetTimer(hWnd,TIMER3,400);                            FillBoxWithBitmap (hdc,0,440,640,40,&s_button);                               FillBoxWithBitmap (hdc,279,368,82,72,&ser_menu1);                            q =2;                                                      flag2 =0;                            break;                                             case 10:                            LoadBitmapFromFile(HDC_SCREEN,&ser_menu3,"./menu/gas2.bmp");                            FillBoxWithBitmap (hdc,0,440,640,40,&s_button);                             FillBoxWithBitmap (hdc,279,368,82,72,&ser_menu3);                            SetTimer(hWnd,TIMER3,400);                            flag2 =0;                            q =4;                                                       break;                       case 11:                           LoadBitmapFromFile(HDC_SCREEN,&de_menu1,"./menu/de_menu1.bmp");                           FillBoxWithBitmap (hdc,0,440,640,40,&s_button);                           FillBoxWithBitmap (hdc,558,296,82,144,&de_menu1);                           flag2 =0;                           break;                       case 12:                           LoadBitmapFromFile(HDC_SCREEN,&de_menu2,"./menu/de_menu2.bmp");                           FillBoxWithBitmap (hdc,0,440,640,40,&s_button);                           FillBoxWithBitmap (hdc,558,296,82,144,&de_menu2);                           flag2 =0;                           break;                       case 13:                           LoadBitmapFromFile(HDC_SCREEN,&de_menu3,"./menu/de_menu3.bmp");                           FillBoxWithBitmap (hdc,0,440,640,40,&s_button);                           FillBoxWithBitmap (hdc,558,296,82,144,&de_menu3);                           flag2 =0;printf("启动  \n");                            break;                       case 14:num=4;                           LoadBitmapFromFile(HDC_SCREEN,&de_menu4,"./menu/de_menu4.bmp");                           FillBoxWithBitmap (hdc,0,440,640,40,&s_button);                           FillBoxWithBitmap (hdc,558,296,82,144,&de_menu4);                           flag2 =0;                           break;                       default: FillBoxWithBitmap (hdc,0,440,640,40,&s_button);                                break;
		       }                  switch (flag2){
			case 1: FillBoxWithBitmap (hdc,279,368,82,72,&ser_menu);
		               break;                         case 2: FillBoxWithBitmap (hdc,558,296,82,144,&de_menu);                               break;                        default: break;
		    }
		       ReleaseDC(hdc);	               flag1 =0;	               printf("\n"); 
		                     }              
		break;
         case MSG_LBUTTONDOWN:                cx = LOWORD(lParam);        cy = HIWORD(lParam);        rs = mapbutton(cx,cy);               printf("\n rs=%d\n",rs);        printf("cx=%d,cy=%d\n",cx,cy);         switch (rs){                 case 1:            //启动                        flag1=1;                                             break;                 case 2:            //放大		       flag1=2;                                              break;                 case 3:            //缩小		       flag1=3;                                              break;                 case 4:            //查询		       flag1=4;                       break;                 case 5:            //静音   		       flag1=5;                                 break;       //播放                 case 6:		       flag1=6;                                              break;                 case 7:            //分类		       flag1=7;                                              break;                 case 8:flag1 =8;    //查询邮局                       break;                 case 10:flag1 =10;  //查询加油站                                             break;                 case 11:flag1 =11;  flt=flag1;//分类                        break;                 case 12:flag1 =12;  flt=flag1;//分类                        break;                 case 13:flag1 =13;  flt=flag1; //分类                        printf("cy=%d\n",cy);                        break;                   case 14:flag1 =14;  flt=flag1;//分类                        printf("cy=%d\n",cy);                        break;                 default: break;                 }               break;        case MSG_CLOSE:        KillTimer(hWnd,TIMER0);        KillTimer(hWnd,TIMER1);        UnloadBitmap(&s_map);        UnloadBitmap(&button1);        UnloadBitmap(&button2);        UnloadBitmap(&button3);        UnloadBitmap(&button4);         UnloadBitmap(&button5);         UnloadBitmap(&ser_menu);         UnloadBitmap(&button6);        UnloadBitmap(&button7);        UnloadBitmap(&de_menu);        UnloadBitmap(&ser_menu1);        UnloadBitmap(&ser_menu3);           UnloadBitmap(&de_menu);               UnloadBitmap(&de_menu2);        UnloadBitmap(&de_menu);        UnloadBitmap(&de_menu);        DestroyMainWindow(hWnd);        PostQuitMessage(hWnd);        printf("MSG_CLOSE\n");        break;     case MSG_DESTROY:aa:        exit(0);        break;    default:          return DefaultMainWinProc (hWnd, message, wParam, lParam);  }   return 0;} int InitMainWindow(void){ MAINWINCREATE window_info;    window_info.dwStyle =0;  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_invalid;  window_info.dwAddData = 0;  window_info.hHosting = HWND_DESKTOP;  hMainWnd = CreateMainWindow (&window_info);  if(hMainWnd == HWND_INVALID) return (0);  else return(1);}//坐标转换//
double change0(double y,double z){     int a,b,c,d;      a=(y-3210)*10000;      b=a/10000;c=a%10000;      d=(b*6000+c+z);      b=d/6000;      c=d%6000;      y=(double)(b*10000+c)/10000+3210;      return y;}double change1(double x,double z){     int a,b,c,d;      a=(x-119.25)*1000000;      b=a/10000;c=a%10000;      d=(b*6000+c+z);      b=d/6000;      c=d%6000;      x=(double)(b*10000+c)/1000000+119.25;      return x;}int readrecord(FILE *fpt,struct record *rpt)
{
       int i;
       if(fscanf(fpt,"%d",&i)!=1)
       return 0;	        rpt->num=i;       fscanf(fpt,"%lf %lf %d %d %d",&rpt->y,&rpt->x,&rpt->fangxiang,&rpt->youxian,&rpt->quyu);
       return 1;
}int readrecord1(FILE *fpt,struct record1 *rpt)
{      int i;
       if(fscanf(fpt,"%d",&i)!=1)
       return 0;	        rpt->number=i;       fscanf(fpt,"%lf %lf %lf %lf",&rpt->x1,&rpt->y1,&rpt->x2,&rpt->y2);
       return 1; }struct shuzhi *makelist()
{
	FILE *fp;
	struct shuzhi *a1,*a2,*a3,*a4,*a5,*a6,*a7,*a8,*a9,*a10,*a11,*a12,*q,*q1;
	struct node *p;
	if((fp=fopen("0.txt","r"))==NULL)
	{
		printf("open file .\n");
		return NULL;
	}        a1=(struct shuzhi *)malloc(sizeof(struct shuzhi));       a1->left=a1->right=a1->mid=NULL;       a2=(struct shuzhi *)malloc(sizeof(struct shuzhi));       a2->left=NULL;a2->right=NULL;a2->mid=NULL;       a3=(struct shuzhi *)malloc(sizeof(struct shuzhi));       a3->left=a3->right=a3->mid=NULL;       a4=(struct shuzhi *)malloc(sizeof(struct shuzhi));       a4->left=a4->right=a4->mid=NULL;       a5=(struct shuzhi *)malloc(sizeof(struct shuzhi));       a5->left=a5->right=a5->mid=NULL;       a6=(struct shuzhi *)malloc(sizeof(struct shuzhi));       a6->left=a6->right=a6->mid=NULL;       a7=(struct shuzhi *)malloc(sizeof(struct shuzhi));       a7->left=a7->right=a7->mid=NULL;       a8=(struct shuzhi *)malloc(sizeof(struct shuzhi));       a8->left=a8->right=a8->mid=NULL;       a9=(struct shuzhi *)malloc(sizeof(struct shuzhi));       a9->left=a9->right=a9->mid=NULL;       a10=(struct shuzhi *)malloc(sizeof(struct shuzhi));       a10->left=a10->right=a10->mid=NULL;       a11=(struct shuzhi *)malloc(sizeof(struct shuzhi));       a11->left=a11->right=a11->mid=NULL;       a12=(struct shuzhi *)malloc(sizeof(struct shuzhi));       a12->left=a12->right=a12->mid=NULL;         a1->next=a2;a2->next=a3;a3->next=a4;a4->next=a5;a5->next=a6;a6->next=a7;a7->next=a8;       a8->next=a9;a9->next=a10;a10->next=a11;a11->next=a12;a12->next=NULL;        q1=a1;       q=(struct shuzhi *)malloc(sizeof(struct shuzhi));       while(readrecord1(fp,(struct record1 *)q)!=0)       {  q1->number=q->number;          q1->x1=q->x1;q1->y1=q->y1;          q1->x2=q->x2;q1->y2=q->y2;          q1=q1->next;          q=(struct shuzhi *)malloc(sizeof(struct shuzhi));        }       free(q);       fclose(fp);
       p=(struct node *)malloc(sizeof(struct node));       if((fp=fopen("1.txt","r"))==NULL)
	{
		printf("Can't1 open file .\n");
		return NULL;
	}
	while(readrecord(fp,(struct record *)p)!=0)
	{switch(p->quyu)                   {   case 1:p->next=a1->left;a1->left=p;break;                       case 2:p->next=a2->left;a2->left=p;break;                       case 3:p->next=a3->left;a3->left=p;break;                       case 4:p->next=a4->left;a4->left=p;break;                       case 5:p->next=a5->left;a5->left=p;break;                       case 6:p->next=a6->left;a6->left=p;break;                       case 7:p->next=a7->left;a7->left=p;break;                       case 8:p->next=a8->left;a8->left=p;break;                       case 9:p->next=a9->left;a9->left=p;break;                       case 10:p->next=a10->left;a10->left=p;break;                       case 11:p->next=a11->left;a11->left=p;break;                       case 12:p->next=a12->left;a12->left=p;break;                    }
                    p=(struct node *)malloc(sizeof(struct node));
	}
	free(p);
	fclose(fp);        if((fp=fopen("2.txt","r"))==NULL)
	{
		printf("Can't2 open file .\n");
		return NULL;
	}        p=(struct node *)malloc(sizeof(struct node));        while(readrecord(fp,(struct record *)p)!=0)
	{switch(p->quyu)             {                 case 1:p->next=a1->mid;a1->mid=p;break;                 case 2:p->next=a2->mid;a2->mid=p;break;                 case 3:p->next=a3->mid;a3->mid=p;break;                 case 4:p->next=a4->mid;a4->mid=p;break;                 case 5:p->next=a5->mid;a5->mid=p;break;                 case 6:p->next=a6->mid;a6->mid=p;break;                 case 7:p->next=a7->mid;a7->mid=p;break;                 case 8:p->next=a8->mid;a8->mid=p;break;                 case 9:p->next=a9->mid;a9->mid=p;break;                 case 10:p->next=a10->mid;a10->mid=p;break;                 case 11:p->next=a11->mid;a11->mid=p;break;                 case 12:p->next=a12->mid;a12->mid=p;break;        }
           p=(struct node *)malloc(sizeof(struct node));
	}
	free(p);
	fclose(fp);        if((fp=fopen("3.txt","r"))==NULL)
	{
		printf("Can't3 open file .\n");
		return NULL;
	}        p=(struct node *)malloc(sizeof(struct node));	while(readrecord(fp,(struct record *)p)!=0)
	{switch(p->quyu)                    {case 1:p->next=a1->right;a1->right=p;break;                     case 2:p->next=a2->right;a2->right=p;break;                     case 3:p->next=a3->right;a3->right=p;break;                     case 4:p->next=a4->right;a4->right=p;break;                     case 5:p->next=a5->right;a5->right=p;break;                     case 6:p->next=a6->right;a6->right=p;break;                     case 7:p->next=a7->right;a7->right=p;break;                     case 8:p->next=a8->right;a8->right=p;break;                     case 9:p->next=a9->right;a9->right=p;break;                     case 10:p->next=a10->right;a10->right=p;break;

⌨️ 快捷键说明

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