MFC根据图片大小来设置窗口
2013-05-05 17:14
597 查看
研究了一个多星期,到处查找资料,终于把这个东西搞出来了。就是根据图片大小来自动调整窗口的大小。之前打算在Doc类中OnOpenDocument()中加载图片后就去设置窗口大小,但是无法正确得到子窗口的句柄。查了一下:子框架和视图被设为Active都发生在OnOpenDocument()或OnNewDocument()后。所以放到View类中
重载OnInitialUpdate() 函数,再来设置就可以了。下面是关键代码。
顺便贴一张效果图。我把子窗口的属性也改了,禁止最大化,禁止通过拖动改变图片大小。可以在子窗口的PreCreateWindow函数中添加:
重载OnInitialUpdate() 函数,再来设置就可以了。下面是关键代码。
void CMDIView::OnInitialUpdate() { CView::OnInitialUpdate(); // TODO: Add your specialized code here and/or call the base class CMDIDoc* pDoc = GetDocument(); GetParentFrame()->MoveWindow( 0,0, pDoc->m_Image.Width(), pDoc->m_Image.Height()); } void CMDIView::OnDraw(CDC* pDC) { CMDIDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: add draw code for native data here pDoc->m_Image.Show(pDC->GetSafeHdc(), 0, 0, pDoc->m_Image.Width(), pDoc->m_Image.Height(), 0, 0); }
顺便贴一张效果图。我把子窗口的属性也改了,禁止最大化,禁止通过拖动改变图片大小。可以在子窗口的PreCreateWindow函数中添加:
cs.style &= ~WS_MAXIMIZEBOX; cs.style &= ~WS_THICKFRAME;
相关文章推荐
- MFC 根据窗口的变化来设置控件的大小
- MFC 窗口最大化和最小化,全局变量的使用、static居中显示、static的背景色设置为透明、根据屏幕自适应调整界面大小
- MFC多文档设置窗口大小
- MFC中设置窗口大小位置
- 3.1 Javascript:探索客户端-设置网页元素根据窗口比例调整位置与大小
- 给jsp或者html设置背景图片根据屏幕大小填充
- MFC,调整窗口大小限制大小,设置窗口的最大|最小宽度与高度
- 图片自动缩放特效,根据当前窗口的大小来伸缩
- MFC 设置对话框窗口背景图片
- MFC中设置窗口大小位置
- MFC 设置窗口背景图片
- java swing 怎样添加背景图片并且能根据窗口大小进行缩放
- 【整理】MFC单文档程序窗口大小的设置
- MFC窗口大小及位置设置方式
- Android 根据屏幕的宽度来设置图片的大小,
- MFC中设置窗口大小位置
- jquery实现根据浏览器窗口大小自动缩放图片的方法
- 根据网络图片的size大小设置UIImageView的大小
- java 添加背景图片(可根据窗口大小自动调整显示图片)
- js 根据图片大小弹出大小相应的窗口