虫虫教学

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 527|回复: 0

拼图游戏

[复制链接]

4449

主题

4659

帖子

4万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
41710

最佳新人发帖达人推广达人热心会员突出贡献优秀讲师

发表于 2021-10-15 18:33:27 | 显示全部楼层 |阅读模式
                   拼图游戏
    本例实现了拼图游戏,运行程序,在“图像”菜单中可以选择程序中自带的图片或者是用户自己选择图片,在“游戏”菜单中可以选择游戏的级别,单击“图像”→“图02”,单击“游戏”→“开始游戏”,就可以进行游戏了,运行程序效果如图1所示。
                                 

关键技术
本例使用代码创建一定数量的Static控件,然后通过StretchBlt函数把图片分块画到Static控件上,最后通过WM_LBUTTONDOWN和WM_LBUTTONUP事件控制Static控件的移动。
设计过程
(1)新建一个基于对话框的应用程序,将窗体标题改为拼图游戏。
(2)向窗体中添加一个Static控件,用来控制对话框的伸缩显示。
(3)向资源中添加一个菜单,并为菜单添加相应的节点。
(4)在OnInitDialog函数中创建Static控件并设计状态栏,代码如下。
::GetCurrentDirectory(256,buf); //获取程序根目录路径
      m_bExpand = false;
      m_win = false;
      UINT array[5];

      for (int i=0;i<5;i++)
       {
            array = 1001+i;
      }
      m_statusbar.Create(this); //创建状态栏窗口
      m_statusbar.SetIndicators(array,sizeof(array)/sizeof(UINT)); //添加面板
      for (int n = 0; n<4;n++)
      {
            m_statusbar.SetPaneInfo(n,array[n],0,155);//设置面板宽度
      }
      m_statusbar.SetPaneInfo(3,array[3],0,700);
       CTime time;
      time=time.GetCurrentTime();
      CString stime;
      stime.Format("当前时间:%s",time.Format("%y-%m-%d %H:%M:%S"));
      m_statusbar.SetPaneText(0,stime);
      tm = 0;
      Gtime.Format("游戏时间:%d",tm);
      m_statusbar.SetPaneText(1,Gtime);
       m_statusbar.SetPaneText(2,"加油!");
      RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);
      CRect rcDlg, rcMarker;
      GetWindowRect(rcDlg);
      m_nExpandedWidth = rcDlg.Width();
      GetDlgItem(IDC_COMPART)->GetWindowRect(rcMarker);
      m_nNormalWidth = (rcMarker.left - rcDlg.left);
       Display();
      for(int j=0;j<64;j++)
      {
            Picture[j].Create("",WS_CHILD|WS_CLIPSIBLINGS|WS_EX_TOOLWINDOW|WS_BORDER,
                  CRect(0,0,48,48),this,1200+i);
      }
秘笈心法
心法领悟591:使用Draw3dRect方法绘制按钮
CDC类的Draw3dRect方法经常用在控件自绘上,使用该方法绘制一个矩形区域,由于矩形区域边线颜色不同,很容易形成立体效果,例如将该方法的最后两个参数设置为RGB(255,255,255)和REG(128,128,128),就可以形成按钮效果。还可以利用该方法绘制凸起或凹陷的线条。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|虫虫教学--虫虫联盟官网

GMT+8, 2025-4-28 23:00 , Processed in 0.082396 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表