本人菜鸟,刚开始学习,请大神指导。
请帮我分析下下面这段程序,逐句的含义和作用。谢谢了
void CpicviewDlg::Redraw(void)
{
CDC* pDC = m_staPrev.GetDC();
Graphics graph(pDC->GetSafeHdc());
CRect rect,winrect;
m_staPrev.GetClientRect(&winrect);
m_staPrev.GetClientRect(rect);
pDC->FillRect(rect, &CBrush(RGB(211, 211, 211)));
if (m_nPos >= 0)
{
CString m_strFilePath = m_strPath + L"\\" + m_FilesNameAry[m_nPos];
Image image(m_strFilePath);
CRect rect;
m_staPrev.GetClientRect(rect);
REAL width = (REAL)image.GetWidth();
REAL height = (REAL)image.GetHeight();
REAL c= 0.0f;
REAL x= 0.0f;
REAL y= 0.0f;
[解决办法]
这是一个GDI+画图
- C/C++ code
void CpicviewDlg::Redraw(void) { CDC* pDC = m_staPrev.GetDC(); //系统自动生成,获取窗体的设备上下文dc Graphics graph(pDC->GetSafeHdc()); //申请gdi+,为其绑定一个可用的dc CRect rect,winrect; //定义两个范围 m_staPrev.GetClientRect(&winrect); //将窗体范围存放在winrect中 m_staPrev.GetClientRect(rect); //将窗体范围存放在rect中 pDC->FillRect(rect, &CBrush(RGB(211, 211, 211))); //用画刷填充rect为颜色RGB(211,211,211) if (m_nPos >= 0) //不知道你的m_nPos是什么 { CString m_strFilePath = m_strPath + L"\\" + m_FilesNameAry[m_nPos]; //定义图片路径 Image image(m_strFilePath); //加载图片进来,保存在Image类中 CRect rect; m_staPrev.GetClientRect(rect); REAL width = (REAL)image.GetWidth(); //这里是自定义类型宽度 REAL height = (REAL)image.GetHeight(); //自定义类型高度,什么是real自定义类型,你可以看下GDI+编程中的说明 REAL c = 0.0f; REAL x = 0.0f; REAL y = 0.0f;