紧急求救,200分相赠(之二)!

jesun 2001-08-05 11:54:48
问题一:如何根据视窗大小来计算框架的大小,也就是如何根据View的尺寸来计算MainFrame的尺寸,有具体的函数吗?
 azuo_lee() 回复于2001-8-5 0:57:24
GetSystemMetrics,下面几个参数大概有用:
SM_CXSIZEFRAME
SM_CYSIZEFRAME
SM_CYCAPTION
SM_CYMENU
如果有Toolbar,那Toolbar的尺寸大概得另外计算。
 MSVCer(家宝) 回复于2001-8-5 2:12:19
CalcWindowRect可以按你要求以VIEW计算FRAME尺寸,但不包括工具条,另外菜单发生折叠时会不准确
CControlBar::CalcFixedLayout可以计算工具条尺寸,计算时得参照

问题二:那么根据Frame计算View的大小又如何呢?
问题三:我最头疼的就是有工具条,而且工具条至少两条,一条在顶部,一条在左边,而且都是可以任意停靠的,怎么能加以判断?
...全文
119 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿鹏兄 2001-08-06
  • 打赏
  • 举报
回复
up
MSXP2 2001-08-06
  • 打赏
  • 举报
回复
darufang@163.com
yuxuguang 2001-08-06
  • 打赏
  • 举报
回复
gz
jesun 2001-08-06
  • 打赏
  • 举报
回复
楼上的:
我不是没找到吗,就是请教大家如何能找到这些呢,你能给我举几个具体的函数出来吗?
jesun 2001-08-06
  • 打赏
  • 举报
回复
上一贴子见http://www.csdn.net/expert/topic/222/222588.shtm
HowUCan 2001-08-06
  • 打赏
  • 举报
回复
不太明白,CWnd有那么多关于窗口位置大小的函数,为什么还要自己去算呢?
azuo_lee 2001-08-06
  • 打赏
  • 举报
回复
停靠也好,不停靠也罢,它在某一时刻的位置总是确定的,你也能通过简单的函数得到它到位置(GetWindowRect?)——因此你总能计算出这一时刻Frame的尺寸。但一旦工具条的位置被改变,你必须重新计算——想一劳永逸肯定不可能。
计算也很简单,将工具栏的尺寸与View的尺寸比较,可以得到它停靠在View的上下还是左右,于是用y坐标加或是x坐标加就可以了;一旦二者矩形重叠,那说明工具栏已成为一个独立的Tool Window,计算尺寸将其忽略不记。可能我考虑的情况不够全面,但应该有办法能算出来的。
jesun 2001-08-06
  • 打赏
  • 举报
回复
怎么没人回答了吗?

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧