VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

有编程疑问吗?还请到提问专区发帖提问!
搜索
查看: 268|回复: 4

[求助] MFC 打造聊天程序时遇到的窗口伸缩问题

[复制链接]
83_avatar_middle
在线会员 helloworld! 发表于 2018-7-23 10:52:20 | 显示全部楼层 |阅读模式
运行程序时,groupBox控件能实现动态伸缩,而主窗口则不行。会不会是程序运行出结果时窗口隐藏在任务栏所致?
void CTalkDlg::ExtendDiaog(BOOL bShow)//动态伸缩窗口函数
{
        static CRect m_DlgRectLarge(0, 0, 0, 0);//CRect 对象,用于存储窗口的位置以及大小
        static CRect m_DlgRectSmall(0, 0, 0, 0);
        static CRect m_GroupRectLarge(0, 0, 0, 0);//设置两个CRect 对象,用于存储GroupBox 框的大小以及位置
        static CRect m_GroupRectSmall(0, 0, 0, 0);

        if (m_DlgRectLarge.IsRectNull()) //IsRctNull函数判定对话框是否为空,第一次调用时m_DlgRectLarge为空,对话框为缩小状态
        {
                GetWindowRect(&m_DlgRectLarge);//m_DlgRectLarge获得窗口大小
                m_DlgRectSmall = m_DlgRectLarge;
                m_DlgRectSmall.right -= 200;
       

                ::GetWindowRect(GetDlgItem(IDC_FRAME)->GetSafeHwnd(), &m_GroupRectLarge);//
                m_GroupRectSmall = m_GroupRectLarge;
                m_GroupRectSmall.right -= 220;
        }
        if (bShow)
        {
                bShowAll = TRUE;
                SetWindowPos(NULL, 0 ,0, m_DlgRectLarge.Width(), m_DlgRectLarge.Height(), SWP_NOZORDER | SWP_NOMOVE);
                ::SetWindowPos(GetDlgItem(IDC_FRAME)->GetSafeHwnd(), NULL, 0, 0, m_GroupRectLarge.Width(), m_GroupRectLarge.Height(), SWP_NOZORDER | SWP_NOMOVE);
        }
        else
        {
                bShowAll = FALSE;
                SetWindowPos(NULL, 0 , 0 , m_DlgRectSmall.Width(), m_DlgRectSmall.Height(), SWP_NOZORDER | SWP_NOMOVE);
                //::MoveWindow(this ->m_hWnd,200,200, 300,150,TRUE);
                ::SetWindowPos(GetDlgItem(IDC_FRAME)->GetSafeHwnd(), NULL, 0, 0, m_GroupRectSmall.Width(), m_GroupRectSmall.Height(), SWP_NOZORDER |SWP_NOMOVE);
        }
}




上一篇:请问怎么把byte数组转为图片呢?
下一篇:缓冲区总是崩溃

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

51_avatar_middle
online_admins Syc 发表于 2018-7-23 11:26:17 | 显示全部楼层
还真没看出什么问题,貌似代码跟我写的差不多!
方便的话把工程清理下传上来吧,我本地调试下看看

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

83_avatar_middle
ico_lz  楼主| helloworld! 发表于 2018-7-23 11:32:53 | 显示全部楼层
Syc 发表于 2018-7-23 11:26
还真没看出什么问题,貌似代码跟我写的差不多!
方便的话把工程清理下传上来吧,我本地调试下看看

就是你的代码,小白正尝试敲一遍理解

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

51_avatar_middle
online_admins Syc 发表于 2018-7-23 12:14:03 | 显示全部楼层
helloworld! 发表于 2018-7-23 11:32
就是你的代码,小白正尝试敲一遍理解

肯定还是你的代码有问题,不然我的代码在我的工程中是没问题的啊
所以,要是方便的话还是把工程清理下传上来吧

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

51_avatar_middle
online_admins Syc 发表于 2018-7-23 12:14:36 | 显示全部楼层
检查下,第一次进入的时候 函数的参数 bShow 传的是什么值?跟我的代码中一致吗?

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2018-12-15 04:46

Powered by Discuz! X3.4

© 2009-2018 cctry.com

快速回复 返回顶部 返回列表