VC2010 MFC多文档项目中在带滚动条的窗口中显示图像
来源:互联网 发布:万方数据库官网网址 编辑:程序博客网 时间:2024/05/22 12:59
首先创建MFC多文档项目XXX,在“用户界面功能”处勾中“拆分窗口”,在”生成的类“处选择“CScrollView”作为基类。
在XXXDoc.h中:
。。。。。。。。。。。
public:
CSize GetDocSize() const
{ return m_docSize; }
protected:
CSize m_docSize;//设置滚动条尺寸
public:
CImage m_srcImg; //用于载入图像
在XXXDoc.cpp 中:
BOOL CXXXDoc::OnOpenDocument(LPCTSTR lpszPathName)
{
if (!CDocument::OnOpenDocument(lpszPathName))
return FALSE;
// TODO: 在此添加您专用的创建代码
//载入图像
m_srcImg.Load(lpszPathName);
m_docSize=CSize((int)m_srcImg.GetWidth(), (int) m_srcImg.GetHeight());
return TRUE;
}
在CXXXView类中添加消息WM_HSCROLL和WM_VSCROLL并重写OnInitialUpdate()和OnDraw()。
void CXXXtView::OnInitialUpdate()
{
CScrollView::OnInitialUpdate();
// TODO: 在此添加专用代码和/或调用基类
SetScrollSizes(MM_TEXT, GetDocument()->GetDocSize());
}
void CXXXView::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
CScrollView::OnHScroll(nSBCode, nPos, pScrollBar);
}
void CXXXView::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
CScrollView::OnVScroll(nSBCode, nPos, pScrollBar);
}
void CXXXView::OnDraw(CDC* pDC)
{
CXXXDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc)
return;
// TODO: 在此处为本机数据添加绘制代码
if(pDoc->m_srcImg)
{
//用于图像缩放的时候
SetScrollSizes(MM_TEXT,CSize(pDoc->m_srcImg.GetWidth(),pDoc->m_srcImg.GetHeight()));
pDoc->m_srcImg.Draw(pDC->m_hDC, 0, 0);
}
}
在XXXView.cpp文件中OnInitialUpdate()函数中,通过SetScrollSizes可以修改滚动条的长度。
void CDrawOnPic2View::OnInitialUpdate()
{
CScrollView::OnInitialUpdate();
CSize sizeTotal;
// TODO: 计算此视图的合计大小
sizeTotal.cx = sizeTotal.cy = 100;
SetScrollSizes(MM_TEXT, sizeTotal);
}
- VC2010 MFC多文档项目中在带滚动条的窗口中显示图像
- VC2010 MFC多文档项目中在带滚动条的窗口中显示图像
- MFC使用OpenCV在文档窗口中显示图像(支持多图片格式)
- 在自动显示滚动条的窗口中,如何判断滚动条已显示
- 用OpenCV将图像显示在MFC的窗口中
- MFC中Cwnd窗口添加滚动条
- MFC中Cwnd窗口添加滚动条
- MFC+Opencv在单文档程序中显示出一幅图像
- SDL和FFmpeg解码图像在MFC的规定的窗口中显示
- 在HTML中创建带滚动条的table
- 继承opencv的CImage类在MFC的单文档中编辑并显示图像
- MFC的CView窗口中显示iplimage图像
- 解决单文档滚动条程序中显示图像闪烁问题
- MFC单文档中图像的显示与操作
- 在CFormView中如何使单文档窗口缩小时也不产生滚动条
- 在MFC中利用HALCON读取图像,并显示在主窗口和picture空间中
- MFC中在picture control中显示图像的方法
- 在CListView中用SetScrollPos改变滚动条的位置后,窗口中显示的内容如何也跟着移动实现。
- python 数学前自动补0的方法
- linux 网站压力测试工具webbench
- VS2012之error LINK2019的问题
- 庄家和散户观念的十个区别(转)
- @property的增强使用
- VC2010 MFC多文档项目中在带滚动条的窗口中显示图像
- java大文件读写操作,java nio 之MappedByteBuffer,高效文件/内存映射
- 昨夜西风凋碧树
- 使用iscroll后,input等不能输入内容的解决办法
- NavigationBar和UINavigationController一样是一个容器
- MYSQL group by 分组后只取最大、最小值对应的记录方法
- C++内存管理
- Go语言监控文件变化小程序.
- 反射之反思