vb中一个窗口中的控件随窗口的大小改变而相应改变位置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vb中一个窗口中的控件随窗口的大小改变而相应改变位置相关的知识,希望对你有一定的参考价值。

可以用窗体的resize事件来实现,改变窗体大小时,控件大小跟窗体成比例,不过如果最小化的时候就会出错,所以还得把最小化的事件给去了,代码如下:
private
sub
form_resize()
if
me.windowstate
<>
1
then
'如果不是最小化
command1.width
=
me.width
/
5
'按钮宽度是窗体的1/5
command1.height
=
me.height
/
5
'按钮高度是窗体的1/5
end
if
end
sub
参数可以自己设定,其它的也是如此,细节还得自己弄了,如果想让控件居中可以这样:
private
sub
form_resize()
if
me.windowstate
<>
1
then
'如果不是最小化
command1.width
=
me.width
/
5
'按钮宽度是窗体的1/5
command1.height
=
me.height
/
5
'按钮高度是窗体的1/5
command1.left
=
(me.width
-
command1.width)
/
2
'按钮左边
command1.top
=
(me.height
-
command1.height)
/
2
'按钮顶边
end
if
end
sub
这样就可以随窗体改变而改变了。
参考技术A 在窗体的resize事件里面写代码:
command1.height=?
command1.width=?
command1.left=?
command1.top=?
...

怎么用js写一个div的宽度发生改变的事件 比如随浏览器窗口大小改变而改变

<script type="text/javascript">

var winWidth = 0;
var winHeight = 0;
function findDimensions() //函数:获取尺寸

//获取窗口宽度
if (window.innerWidth)
winWidth = window.innerWidth;
else if ((document.body) && (document.body.clientWidth))
winWidth = document.body.clientWidth;
//获取窗口高度
if (window.innerHeight)
winHeight = window.innerHeight;
else if ((document.body) && (document.body.clientHeight))
winHeight = document.body.clientHeight;
//通过深入Document内部对body进行检测,获取窗口大小
if (document.documentElement && document.documentElement.clientHeight && document.documentElement.clientWidth)

winHeight = document.documentElement.clientHeight;
winWidth = document.documentElement.clientWidth;

//这块
//document.body.style.height = winHeight + "px";
//document.body.style.width = winWidth + "px";

document.getElementById("a1111").style.height = winHeight + "px";
document.getElementById("a1111").style.width = winWidth + "px";

findDimensions();
//调用函数,获取数值
window.onresize=findDimensions;

</script>追问

if (window.innerWidth)
winWidth = window.innerWidth;
else if ((document.body) && (document.body.clientWidth))
winWidth = document.body.clientWidth;
为什么还要判断呢 window的内宽肯定不能为0 吧?

参考技术A 你想让div随着哪个元素改变就给那个元素添加事件
比如
window.onresize=function() //随着窗口的改变而改变
//事件里添加要改变的逻辑
div.offsetWidth=(document.documentElement.clientWidth||document.body.clientWidth)/比例
参考技术B <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>测试</title> <style> #ddd background-color: red; </style></head><body> <div id= "ddd"></div> <script> var ddd = document.getElementById('ddd'); window.getComputedStyle(ddd, null); //获取可视窗口的大小调整 var width = window.innerWidth; var height = window.innerHeight; ddd.style.height = height/2 + 'px'; ddd.style.width = width/2 + 'px'; </script></body></html> 参考技术C 不需要写js,只需要div自适应就可以了。或者设置width="100%"本回答被提问者和网友采纳 参考技术D window.onresize=function()
document.getElementById("div").style.width=你的高度;

高度相同 onresize是窗口大小改变时触发的事件

以上是关于vb中一个窗口中的控件随窗口的大小改变而相应改变位置的主要内容,如果未能解决你的问题,请参考以下文章

MFC如何将窗口中所有控件大小随父窗口大小改变

MFC改变 随着控件大小变化 改变控件字体的大小

vb中如何使窗体和控件的相对位置不发生改变

MFC中TabCtrl控件怎么随着窗体的大小变化而变化?

MFC中TabCtrl控件怎么随着窗体的大小变化而变化?

如何实现控件随对话框大小变化而自动调整大小和位置