Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

六个子窗体,如何分三行两栋平分窗体?

jingguangyuang  发表于:2013-04-29 11:53:39  
复制

在查询过程中,需要把六个不同内容的子窗体,分别同时查询不同的内容,原本想放到不同的选项卡内,由于内容不多,可以按三行两栋的方式显示完,所以想放到一个窗体内,但也于不同同事使用的显示器是不同尺寸,最大的是21,最小的是15,想能不能用VB来解决这个问题,请问哪位大虾帮个忙!

 

Top
zhlk666 发表于:2013-04-29 14:47:25

这是屏幕的宽度和高度:Me.InsideWidth,Me.InsideHeight,将宽度分2分,高度分3分,然后定位那六个子窗体的位置就行了。

 

你看这个短答复行吗?



红尘如烟 发表于:2013-04-29 16:48:00

你在窗体的“调整大小”事件中,动态的调整子窗体的大小以自动适应就行了

Private Sub Form_Resize()
On Error Resume Next
Dim lngWidth As Long
Dim lngHeight As Long

lngWidth = Me.InsideWidth / 2
lngHeight = (Me.InsideHeight - Me.子窗体1.Top) / 3
For lngI = 1 To 6
Me("子窗体" & lngI).Width = lngWidth
Me("子窗体" & lngI).Height = lngHeight
Next
End Sub


zhlk666 发表于:2013-04-30 10:17:56

你在窗体的“调整大小”事件中,动态的调整子窗体的大小以自动适应就行了

Private Sub Form_Resize()
On Error Resume Next  
Dim lngWidth As Long  
Dim lngHeight As Long    
lngWidth = Me.InsideWidth / 2  
lngHeight = (Me.InsideHeight - Me.子窗体1.Top) / 3  
For lngI = 1 To 6  
    Me("子窗体" & lngI).Width = lngWidth  
    Me("子窗体" & lngI).Height = lngHeight  
Next  
Me("子窗体1" ).top =0
Me("子窗体1" ).left=0
Me("子窗体2" ).top =0
Me("子窗体2" ).left=lngWidth
Me("子窗体3" ).top =lngHeight
Me("子窗体3" ).left=0
Me("子窗体4" ).top =lngHeight
Me("子窗体4" ).left=lngWidth
Me("子窗体3" ).top =lngHeight



Me("子窗体5" ).top=lngHeight*2
 
Me("子窗体5" ).left=0
Me("子窗体6" ).top =lngHeight*2
Me("子窗体6" ).left=lngWidth
End Sub 


jingguangyuang 发表于:2013-05-11 11:59:24
zhlk666,谢谢你们的回复,但既然是自运调整,相信是简短的代码就可以了,所以我最后还是选择红尘如烟为最佳答案,谢谢各位!

jingguangyuang 发表于:2013-05-11 14:20:08

两位老师好!

你们的代码我试用过了,不是不能做到"六个子窗体,如何分三行两栋平分窗体"的方式进行排!点击下载此附件



zhlk666 发表于:2013-05-11 14:39:05


jingguangyuang 发表于:2013-05-14 10:34:17

谢谢:"Zhlk666",我终于理解写的代码了,



总记录:7篇  页次:1/1 9 1 :