设为首页 加入收藏

TOP

17.9.1 相册管理模块的设计与实现(4)
2013-10-07 14:41:06 来源: 作者: 【 】 浏览:55
Tags:17.9.1 相册 管理 模块 设计 实现

17.9.1  相册管理模块的设计与实现(4)

【代码解析】

在这个函数中用到了GDI与GDI+配合的双缓冲绘图技术,相关知识可参考前几节的知识点。第4、5行创建了一个内存设备。第7~10行根据当前客户区大小创建一个位图。第13~17行将新创建的位图载入内存设备并绘制内存设备的背景图像。第19~22行绘制当前活动相册中的所有相片。第23行将内存设备复制到屏幕上。

(7)添加"新建相册"按钮的处理函数,当用户单击这个按钮时,可进入新建相册模块。

  1. 01  void CMyAlbumDlg::OnNew()   
  2. 02  {  
  3. 03      CMyNewAlbumDlg dlg;                             //新建相册模块  
  4. 04      if(dlg.DoModal() == IDOK)  
  5. 05      {   //相册名不能为空,相片数要大于4  
  6. 06          if(dlg.m_name == ""|| dlg.m_totleNum < 4 )  
  7. 07          {  
  8. 08              MessageBox("要填写相册名称,相册的相片数不得少于4!  
  9. 09                          \r\n请重新设置!");  
  10. 10              OnNew();  
  11. 11          }  
  12. 12          m_numAlbum++;                               //相册数加1  
  13. 13          //保存相册信息  
  14. 14          m_album[m_numAlbum -1].name = dlg.m_name;       //相册名称  
  15. 15          m_album[m_numAlbum -1].str_music = dlg.m_music;//相册背景音乐  
  16. 16          m_album[m_numAlbum -1].num_photo = dlg.m_totleNum;//相片数量  
  17. 17          for(int i = 0; i < m_album[m_numAlbum- 1 ].num_photo; i++)  
  18. 18          {   //相片路径  
  19. 19              m_album[m_numAlbum -1 ].str_photo[i] = dlg.m_path[i];  
  20. 20          }  
  21. 21          //将新建相册插入组合框  
  22. 22          m_comb.InsertString(m_numAlbum - 1,m_album[m_numAlbum -                 1].name);  
  23. 23          UpdateData(false);  
  24. 24      }  
  25. 25  }  

【代码解析】

弹出新建相册模块后,获取用户输入的信息。相册名称不能为空,相片数量要多于4张。当用户输入的信息符合要求时,保存新建相册的信息。并将新建相册的名称插入组合框,便于以后的管理。

(8)为"进入相册"按钮添加处理函数。当用户单击这个按钮时,弹出相册浏览模块。浏览当前活动的相册。

  1. void CMyAlbumDlg::OnAlbum()   
  2. {  
  3.     CMyBookDlg dlg;                                 //相册浏览模块  
  4.     for(int i = 0; i <= m_album[m_curAlbum].num_photo; i++)  
  5.     {   //传递当前活动相册中所有相片的路径信息  
  6.         dlg.m_strImage[i] = m_album[m_curAlbum].str_photo[i];  
  7.     }  
  8.     dlg.m_photoNum = m_album[m_curAlbum].num_photo - 1;//相册中相片的数量  
  9.     dlg.m_strMusic = m_album[m_curAlbum].str_music; //相册背景音乐路径  
  10.     dlg.SetPage();                                      //设置相片  
  11.     dlg.DoModal();                                      //弹出相册浏览模块  
  12. }  


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇17.9.2 新建相册模块的设计与实现.. 下一篇17.9.1 相册管理模块的设计与实现..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: