更新时间:2015-06-26 21:02:18浏览次数:1+次
在《C++快速开发一个GIF图片播放器》中,只是实现了一个基础的能够播放GIF图片的功能,而对GIF图片实现更多控制,如选择GIF图片文件、播放和暂停GIF播放,根据GIF图片调整窗口大小等,需要在本文进行讲述。
在使用一个包装良好的类时,我们只需要看类中头文件提供public权限下面的东西,其他的就不用看了。因为public属于类对外的接口,有了这个接口,就可能很好的使用这个类了。除非你有类的源代码,且你想修改它,否则,只需要看public就可以了。对于公共的结构体,在使用时需要看看。重点在公共函数上。
// - 打开文件对话框
CString FilePathName;
CFileDialog dlg(TRUE, //TRUE为OPEN对话框,FALSE为SAVE AS对话框
NULL, NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
(LPCTSTR)_TEXT("GIF Files (*.gif)|*.gif||"),NULL);
if(dlg.DoModal()==IDOK)
FilePathName=dlg.GetPathName(); //文件名保存在了FilePathName里
else
return;
// - 显示GIF图片前先显示提示
SetDlgItemText(IDC_GIF,_T("\r\n\r\n\r\n\r\n\r\n\r\n加载GIF图片中..."));
m_gif.Load(FilePathName);// - 加载图片
SIZE gifSize = m_gif.GetSize();// - 获取图片大小
CRect rect;
GetClientRect(rect);// - 获取窗口大小
int x = GetSystemMetrics(SM_CXSCREEN)/2 - 200;// - 获取屏幕宽度
int y = GetSystemMetrics(SM_CYSCREEN)/2 - 200;// - 获取屏幕高度
/* - 根据屏幕大小和GIF图片大小调整窗口位置和大小 - */
MoveWindow(x,y,gifSize.cx,gifSize.cy+100);
m_gif.Draw();// - 播放GIF图片
m_gif.IsPlaying()?m_gif.Stop():m_gif.Draw();
CString str;
GetDlgItemText(IDC_BUTTON1,str);
(str==_T("播放"))?SetDlgItemText(IDC_BUTTON1,_T("暂停")):
SetDlgItemText(IDC_BUTTON1,_T("播放"));
相关资讯