求vb6 无边框窗体 最大化 后 不覆盖任务栏的方法

cjd0212 2011-10-01 11:18:53
求vb6 无边框窗体 最大化 后 不覆盖任务栏的方法
郁闷,有完整边框,最大化就不覆盖
没边框 就不是最大化,而是全屏
搜索了下论坛,无果
请大家帮忙,谢谢了
...全文
390 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ltzmentho 2012-07-14
  • 打赏
  • 举报
回复
我也想知道
ningweidong 2011-10-02
  • 打赏
  • 举报
回复
刚才把你的意思看错了,你是想不挡住任务栏是吧
那就不能直接最大化
不能使用Me.WindowState = 2
你应该直接修改窗口尺寸和位置
Private Sub Command2_Click()
Me.Left = 0
Me.Top = 0
Me.Width = Screen.Width
Me.Height = Screen.Height - 540’这个540是写死的值,你可以用函数来获得任务栏的高度
End Sub

获得任务栏高度
Public Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByRef lpvParam As Any, ByVal fuWinIni As Long) As Long
Public Const SPI_GETWORKAREA = 48

Public Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type

'返回不是像素值 一层是540
Public Function GetTaskbarHeight() As Integer
Dim lRes As Long
Dim rectVal As RECT
lRes = SystemParametersInfo(SPI_GETWORKAREA, 0, rectVal, 0)
GetTaskbarHeight = ((Screen.Height / Screen.TwipsPerPixelX) - rectVal.Bottom) * Screen.TwipsPerPixelX
End Function
ningweidong 2011-10-02
  • 打赏
  • 举报
回复
我把borderstyle设为none,
最大化后,确实是全屏了,任务栏都挡住了
难道我们用的版本不一样?
Me.WindowState = 2'这是我写的最大化代码,不知道你是怎么写的

7,763

社区成员

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

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