为什么这样还无法使得图像控件随着窗体的最大化依然紧贴状态栏

chinazzj 2003-10-04 10:34:10
我是这样常识的,似乎无效:

If IsZoomed(frmmain.hwnd) Then
frmmain.ImgZhhz.Top = frmmain.Height - frmmain.StatusBar1.Height
End If
...全文
39 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
goodname008 2003-10-04
  • 打赏
  • 举报
回复
代码的原理就是把图片框设置成状态栏的子窗口了。
这样不管它怎么变都没问题。 :)
goodname008 2003-10-04
  • 打赏
  • 举报
回复
那我上面那段代码就能实现,你运行一下看看如何? :)
chinazzj 2003-10-04
  • 打赏
  • 举报
回复
谢谢你们,我的意思是这样的:
我把窗体设计为可以最大最小化,在合适大小时imgzhhz对象恰好在状态栏下方,
可是最大化后还是在原位置,这样不好看,我想随着最大化事件的触发,
图象自动调整位置,依然恰好在状态栏上方
goodname008 2003-10-04
  • 打赏
  • 举报
回复
楼主想实现什么?可以把问题再说清楚些吗? :)
goodname008 2003-10-04
  • 打赏
  • 举报
回复
' 你是想永远让PictureBox在StatusBar里面吗?
' 可以这样

Option Explicit
Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long

Private Sub Form_Resize()
SetParent Picture1.hWnd, StatusBar1.hWnd
Picture1.Top = 0
End Sub

wisecloud 2003-10-04
  • 打赏
  • 举报
回复
首先,改变大小最好使用窗体的 Resize 事件。
其次,窗体的 Height 属性包括了窗体的标题和边框,应使用 ScaleHeight 获得实际有效高度。
所以我认为是这样:
frmmain.ImgZhhz.Top = frmmain.ScaleHeight - frmmain.StatusBar1.Height

7,789

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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