2 justnodouble JustNoDouble 于 2015.07.15 18:42 提问

MFC最小化,然后还原之后的空间布局问题

开始窗口如下
图片说明
最小化然后最大化成了这样,不知道为什么
图片说明

2个回答

91program
91program   Ds   Rxr 2015.07.15 19:02

最小化后再显示,应该是你代码的处理有问题。
建议你调试一下,看看从最小化恢复时 OnSize 或者 OnPaint 里都做了那些动作。

91program
91program 回复JustNoDouble: 仔细的查查吧,不要太自信了。
大约 3 年之前 回复
JustNoDouble
JustNoDouble 是这样的,最大化和最小化都会调用onsize(),关键是我最大化再还原没事,最小化还原就有问题了
大约 3 年之前 回复
oyljerry
oyljerry   Ds   Rxr 2015.07.15 19:22

主要是你的OnPaint,OnDraw等重绘代码中,是不是最大化后,有一些位置调整,绘图等有导致偏差。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
MFC 主对话框最小化到托盘,托盘点击还原主对话框。
1.将主对话框资源属性Minimize Box设置为true,这个属性显示对话框的最小化按钮。 2.最小化到托盘。 (1)首先要了解,你任务栏右下角的托盘都是图标,所以最小化到托盘建议添加一个Icon资源。 (2)到托盘的函数需要自己重构。 先宏定义#define WM_SHOWTASK WM_USER+1 在protected中添加函数 LRESULT OnShowTask(WPAR
[转]MFC 窗口重绘问题,最小化消失的问题解决
在客户区画直线等图形时, 发现当其最小化或者其他窗口遮挡时,出现窗口重绘,而将原来绘制的图形删除,上网上搜索知道,绘制图形的代码必须放置在Ondraw函数中,才能避免重绘时图形消失(因为一直在响应WM_PAINT消息,不断的重绘),但是这样做却只能保存最近的一次绘图,只适用于单幅固定的图形,对于其中有多幅图形就不能这么做了,解决的思路是:考虑到MFC时文档/视图类,视图CView负责数据的显示和修
wx.ClientDC在窗口最小化之后所画内容消失的问题探讨
wx.DC有很多类别,如wx.PaintDC,wx.ClientDC,wx.BufferedDC,wx.BufferedPaintDC等。 本文以五子棋界面设计为例,探讨下wx.ClientDC所画内容在窗口最小化之后消失的问题。 博主是初学wxpython,在进行五子棋界面设计之前也没有接触过UI设计这方面的内容,所以在编程之前我问了之前用java编过五子棋的同学一个问题:界面是落一个子刷新
捕捉窗体的最小化、最大化、还原消息
procedure WMSysCommand(var Msg: TWMSysCommand); message WM_SYSCOMMAND; //在Public部分声明procedure TForm1.WMSysCommand; begin if (Msg.CmdType = SC_MINIMIZE) then begin //最小化消息 end else if (Msg.CmdType =
mfc picture控件 显示图片最小化后重新打开图片消失?
关于mfc picture控件 显示图片最小化后重新打开窗口图片消失的问题已解决。 最近在学习MFC,使用picture控件时却遇到当图片已经正确显示且最小化后再次打开时图片却消失了的问题。(窗口界面已经使用最小化功能时才会出现上述问题) 一般在生成界面后会有如下代码: void CMFCDemoDlg::OnPaint() //函数--OnPaint() { if (IsIc
托盘使用--最小化到托盘,双击托盘立即还原显示
托盘使用--最小化到托盘,双击托盘立即还原显示
关于对话框最小化到托盘后,点击托盘图标后只在任务栏显示而无法还原窗口的解决方法。
在跟随网上的贴子做完怎样将程序缩小到托盘和怎样还原之后,发现网上所说的只用ShowWindow(SW_SHOW)只能将程序在任务栏显示出来,而并不会自动还原到最小化之前的状态(也就是仍然是最小化的,要想看窗口仍然只能在任务栏上点击程序,以使程序恢复),不符合程序设计习惯,因此尝试在使用ShowWindow函数之后使用SetWindowPos函数,但是无论里面的参数怎样设置也无法将窗口自动还原;
VC MFC 窗口最大化、最小化所触发的事件
消息名称:WM_SYSCOMMAND     The framework calls this member function when the user selects a command from the Control menu, or when the
MFC 无标题对话框最小化和最大化
首先CPropertySheetCtrl属性页面 点击查看微软提供的帮助文档根据这个文档就可以很好的实现CPropertySheetCtrl属性页面的非模态和模态对话框,我使用的是非模态对话框。因为此界面是放在一个基对话框上的,使用模态对话框不能响应最大化和最小化功能。CPropertySheetCtrl* pSheet=new CPropertySheetCtrl(_T("")); CSetti
怎样用代码来最小化或恢复程序
你能够用下面三种方法之一来实现它。  方法一:发送一条Windows消息到主窗口的Handle属性或 Application->Handle。这条消息就是 WM_SYSCOMMAND,将 wParam 设为 SC_MINIMIZE 或 SC_RESTORE。你可以调用SendMessage API函数来发送消息。  // 设置WPARAM为SC_MINIMIZE来最小化窗口  SendMes