我有一个SDI程序,View类用来显示图片。希望View的大小和图片大小(例如800*600)重合,而主窗口被动地随着View改变。
如果直接用GetParentFrame()->MoveWindow(0,0,800,600),结果是主窗口大小为800*600,但是view的大小被压缩导致图片变模糊
我想问的是让主窗口随view改变,不是让它们随主窗口改变。
MFC怎么让主窗口随View类改变大小
1、在主对话框类class CQQDlg : public CDialog中添加对象CRect m_rect,用来记录当前对话框的大小。并在初始化函数OnInitialDialog()中获取该大小GetClientRect (&m_rect);值得注意的是,初始化函数中的这一步并不是必须的,而且如果是在主窗体生成前使用此函数,还可能会报错,故建议不要这个操作。
MFC 如何改变视图大小
如果是单文档,要修改主框架cmainframe的属性 如果是多文档,要修改自框架cmdichildframe的属性 如果是分割视图,还有修改csplit分隔条的属性 视图的大小是有框架控制的,不能去修改view的属性来控制。修改方法很多,可以在创建的时候直接写上去,也可以在初始化函数中调用窗口属性设置函数,如:setwindowlong\/...
单文档view窗口如何最大化,充满整个屏幕(MFC)
先获取视图当前相对于屏幕的位置,然后再获取整个框架相对于屏幕的位置,计算出两者left和top,right, bottom的偏移量,然后按照这个偏移量用SetWindowPos函数对整个框架放大并移动即可.假如框架当前坐标为2, 2, 100,100 视图坐标为 3, 3, 99, 99, 那么各偏移量为 -1 -1 1 1.因此你需要将框架的...
MFC 如何设置CView最大化
一般是在主框架类做最大化(当然最好的是在程序入口处设置)估计你的需求,应该是多文档的,这里就需要注意,每个View对应一个子框架,View的最大化,实际是子框架窗口的最大化。在childframe类中用向导添加函数activateframe,然后添加如上代码即可。
vc++编程:在MFC单文档编程中如何获取view类窗口的大小
在MFC中,View视图类窗口的大小有两个,一个是可视窗口大小,一个是逻辑窗口大小。在没有滚动条的情况下,两个大小相同,使用GetClientRect就可以获取大小:CRect rt;GetClientRect(&rt);需要注意的是,CScrollView这个视图类,在有滚动条的情况下,通过上述代码获取的是可视窗口大小,而不是完整窗口尺寸...
VC++如何改变运行窗口的大小
这里不应当是“可改变窗口大小”,而是“使窗口内容可滚动显示”。在VC++里边,你可以使用MFC,将你自己的View类的基类由CView改为CScrollView,并相应设置即可。
MFC单文档怎么设置窗口大小的下限,例如就是窗口的尺寸必须大于等于800...
可以用滚动视图CSrcollView,设置滚动范围800*600,这样即使窗口缩小了,实际客户区仍有这么大;可以禁止系统菜单的放缩和最大化,通过MoveWindow或者初始化窗口属性cs变量固定窗口大小,不可缩小也不可放大;截获框架CMainFrame的OnSize,在里面强行设置(不推荐,效果不好)void CMainFrame::OnSize(UINT n...
mfc中加载图片自动调整view客户区大小为图片的大小,我是想让view去适 ...
根据图片大小调整显示图片的窗口大小然后再显示图片。
MFC中CView和CWnd作为客户区是怎样自动填充MainFrame的空闲区的_百度知...
你将你的自定义menu\/toolbar添加至主框架的时候,MFC就已经知道了此控件的指针地址,根据此指针即可知道你menu\/toolbar,甚至toolbar上的edit,list,的小色,状态等等,那么自然的主框架的大小也知道了。。gdi32,user32是程序执行必须依赖的,自然系统就可知道屏幕的总大小。有了这些量,窗口起点坐标(...
如何最大化窗口
1. 窗口的最大化 修改MFC的窗口界面的外观,修改MFC窗口的外观要用到类风格(CS_XXXX)和窗口风格(WS_XXXX),MFC在WinMain函数的最开始都定义了WNDCLASS窗口类,该类可以改变窗口的图标,背景,光标等;若要改变窗口的大小,一般在CMainFrame::PreCreateWindow(CREATESTRUCT& cs)中修改构造类cs的值,...