标题:求助! VB frame 嵌套 定位问题
只看楼主
hmj0745
Rank: 2
等 级:论坛游民
帖 子:52
专家分:83
注 册:2021-11-6
结帖率:100%
已结贴  问题点数:20 回复次数:3 
求助! VB frame 嵌套 定位问题
   如下图所示,像此种状态,Command1 的Left和Top 只是它相对于Frame2 左上角的值。 请问如何获取Command1相对于frm1的 Left 和Top 值
***************************************************************************************************************************



[此贴子已经被作者于2021-12-12 14:17编辑过]

搜索更多相关主题的帖子: Top frame 定位 VB 嵌套 
2021-12-10 18:24
hmj0745
Rank: 2
等 级:论坛游民
帖 子:52
专家分:83
注 册:2021-11-6
得分:0 
关于VB frame 嵌套定位有没有哪位朋友做过这方面的,可以提供一点思路吗,谢谢!
.paren 方法只能找到父窗体,找不到控件所在的上层 frame!!!! 卡住了!

只要用代码实现,识别出Command1这个控件的 上一级分组容器名称是 frame2就行了。

[此贴子已经被作者于2021-12-12 14:32编辑过]


不去做永远没有结果!
2021-12-12 14:17
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:20 
  Command1.Parent.Caption = "测试"                '所在窗体
  Command1.Container.Caption = "测试2"            '所在容器,直接在窗体上时,窗口为容器

-------测试代码--------
程序代码:
Dim x As Long, y As Long, obj As Object

x = Command1.Left                   '自己的坐标
y = Command1.Top
Set obj = Command1.Container        '上一层容器
Do
    If obj Is Me Then Exit Do       '如果为放控件的窗体本身退出循环
    x = x + obj.Left
    y = y + obj.Top
    Set obj = obj.Container         '继续取上一层容器
Loop
'If Me.MDIChild Then        '如果是mdi子窗体再加上窗口坐标
'    x = x + Me.Top
'    y = y + Me.Left
'End If

Debug.Print x, y
Debug.Print Command1.Left, Command1.Top
Debug.Print Frame1.Left, Frame1.Top
Debug.Print Picture1.Left, Picture1.Top

授人于鱼,不如授人于渔
早已停用QQ了
2021-12-12 17:29
hmj0745
Rank: 2
等 级:论坛游民
帖 子:52
专家分:83
注 册:2021-11-6
得分:0 
完美,有了风版这一段精悍的代码,后续界面控件定位的问题全解决了!
对父级容器的理解,又学到了,感谢!

不去做永远没有结果!
2021-12-12 18:23



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-507829-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.053216 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved