
请参考这个教程:>
这个问题,需要分几种情况考虑:
1 你要获取的窗体是规则窗体,标题栏是系统定义的,获取就简单了,直接使用 Windows API: GetSystemMetrics(SM_CYCAPTION); 就可以了。
2 如果你要获取的窗体是不规则的,那么就比较困难了,因为这个窗体的标题栏,很可能是自己画的,也就是说根本不是标题栏,而是某个控件模拟的,或者这个高度,要具体情况具体分析了。
因为每当窗口大小发生变化时windows就向窗口发送WM_SIZE消息,传给窗口过程的lParam参数的低位字中包含客户区的宽度;高位字中包含客户区的高度。所以可以在窗口过程中处理WM_SIZE消息:
static int cxClient,cyClient;
case WM_SIZE:
如果在窗体的内部写代码,直接用 thisWidth 和 thisHeight 获得窗体的高度和宽度
如果是在窗体外部,那么假设有from1 f = new form1(); 的定义,那么就用:fWidth 和 fHeight 获得窗体的高度和宽度。
注意,以上两个属性是包含边框的。如果要不包含边框,请使用窗体的ClientRectangle属性,具体做法是:
thisClientRectangleWidth 和 thisClientRectangleHeight
或者 fClientRectangleWidth 和 fClientRectangleHeight
以上获得的所有的单位都是像素
楼主想复杂了!给你说个简答的方法。
第一步:设置panle的属性Anchor 属性为None
第二步:点击布局工具栏上的 水平居中和垂直居中 按钮
后,保存工程
完了,运行一次你看看
不管你的窗体怎么变,panle都一直都会居中显示!就这样
在MFC中,View视图类窗口的大小有两个,一个是可视窗口大小,一个是逻辑窗口大小。
在没有滚动条的情况下,两个大小相同,使用GetClientRect就可以获取大小:
CRect rt;GetClientRect(&rt);
需要注意的是,CScrollView这个视图类,在有滚动条的情况下,通过上述代码获取的是可视窗口大小,而不是完整窗口尺寸,完整窗口尺寸需要通过GetTotalSize函数获取:
CSize logicSize = GetTotalSize();// logical size以上就是关于glut opengl 怎样获得当前窗口的大小全部的内容,包括:glut opengl 怎样获得当前窗口的大小、C#获取当前窗体的大小、C#获取窗体的标题栏大小,比如有个窗体,现在要获得它标题栏的高度。要怎么获取等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)