设为首页 加入收藏

TOP

17.9.2 新建相册模块的设计与实现(2)
2013-10-07 14:41:11 来源: 作者: 【 】 浏览:65
Tags:17.9.2 新建 相册 模块 设计 实现

17.9.2  新建相册模块的设计与实现(2)

【代码解析】

在这个函数中将列表框的属性修改为选中高亮、网格的风格。然后插入"编号"及"路径"两个新列。

(4)为选择相册背景音乐路径的按钮添加处理函数。当单击这个按钮时,弹出打开文件对话框。

  1. 01  void CMyNewAlbumDlg::OnPathmusic()   
  2. 02  {  
  3. 03      CString fileter = "WAV Files (*.wav)|*.wav";    //文件过滤器字符串  
  4. 04      CFileDialog dlg(true,NULL,NULL,  
  5. 05                      OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,  
  6. 06                      fileter,this);                  //打开文件对话框  
  7. 07       char buf[256];   
  8. 08      ::GetCurrentDirectory(256,(char   *)buf);       //获取当前路径  
  9. 09      //显示打开文件对话框  
  10. 10      if(dlg.DoModal() == IDOK)  
  11. 11      {  
  12. 12          m_music = dlg.GetPathName();                //获取用户指定的路径  
  13. 13          UpdateData(false);                          //将路径显示到界面上  
  14. 14      }  
  15. 15      ::SetCurrentDirectory(buf);                     //恢复当前路径  
  16. 16  }  

【代码解析】

打开文件对话框将根据文件过滤器只能打开wav格式的声音文件。在本实例中暂时只支持这种格式的声音文件。然后获取当前的路径,便于操作后恢复。获取用户指定的背景音乐文件路径后,将其显示到界面上。

(5)为选择新相片的按钮添加处理函数。当单击这个按钮时,将弹出选择相片的打开文件对话框。

  1. 01  void CMyNewAlbumDlg::OnPathphoto()   
  2. 02  {  
  3. 03      CString fileter = "JPG Files(*.jpg;*.jpeg)|*.jpg;*.jpeg|BITMAP  
  4. 04                       Files (*.bmp)|*.bmp|(*.*)|*.*||";  //文件过滤器  
  5. 05      CFileDialog dlg(true,NULL,NULL,  
  6. 06                       OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,fileter);  
  7. 07      char buf[256];   
  8. 08      ::GetCurrentDirectory(256,(char   *)buf);       //获取当前路径  
  9. 09      //显示打开文件对话框  
  10. 10      if(dlg.DoModal() == IDOK)  
  11. 11      {  
  12. 12          m_photo = dlg.GetPathName();            //获取用户选择的相片路径  
  13. 13          UpdateData(false);                      //显示相片的路径  
  14. 14          //读取用户选择的图片路径  
  15. 15          CString str;  
  16. 16          str.Format("%d",m_totleNum + 1);  
  17. 17          m_list.InsertItem(m_totleNum,str);      //将相片路径插入列表控件  
  18. 18          m_list.SetItemText(m_totleNum,1,m_photo);  
  19. 19          m_path[m_totleNum] = m_photo;           //保存相片路径  
  20. 20              //刷新列表控件  
  21. 21          UpdateData(false);  
  22. 22          wchar_t *wImage;  
  23. 23          int len;  
  24. 24          //载入相片资源  
  25. 25          len = MultiByteToWideChar(CP_ACP, 0, (LPCTSTR)m_photo, -1, NULL,            0);  
  26. 26          wImage = new wchar_t[len];  
  27. 27          MultiByteToWideChar(CP_ACP, 0, (LPCTSTR)m_photo, -1, wImage,            len);   
  28. 28          m_image[m_totleNum] = Image::FromFile(wImage);   
  29. 29          delete []wImage;  
  30. 30          m_totleNum++;                           //相片数加1  
  31. 31          Invalidate();                           //重绘  
  32. 32      }  
  33. 33      ::SetCurrentDirectory(buf);                 //恢复当前路径  
  34. 34  }  


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

评论

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