Foxtable(狐表)用户栏目专家坐堂 → 求助 窗口最小化最大化问题


  共有3900人关注过本帖树形打印复制链接

主题:求助 窗口最小化最大化问题

帅哥哟,离线,有人找我吗?
jackyfashion
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:668 积分:5190 威望:0 精华:0 注册:2013/10/7 22:27:00
求助 窗口最小化最大化问题  发帖心情 Post By:2017/6/30 22:34:00 [显示全部帖子]

老师:
您好!
窗口最小化后,点击最小化让它最大化
提示"
[此贴子已经被作者于2017/6/30 22:32:50编辑过]

此主题相关图片如下:1.png
按此在新窗口浏览图片
请指教 !!!
谢谢


 回到顶部
帅哥哟,离线,有人找我吗?
jackyfashion
  2楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:668 积分:5190 威望:0 精华:0 注册:2013/10/7 22:27:00
  发帖心情 Post By:2017/6/30 23:15:00 [显示全部帖子]

谢谢老师!!!

 回到顶部
帅哥哟,离线,有人找我吗?
jackyfashion
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:668 积分:5190 威望:0 精华:0 注册:2013/10/7 22:27:00
  发帖心情 Post By:2017/8/28 23:21:00 [显示全部帖子]

老师:
您 好!
我的窗口最大化,电脑下边任务栏不见了,修改那个代码才保留见得到任务栏?
请指教!!!
谢谢老师!!!

 回到顶部
帅哥哟,离线,有人找我吗?
jackyfashion
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:668 积分:5190 威望:0 精华:0 注册:2013/10/7 22:27:00
  发帖心情 Post By:2017/8/29 21:15:00 [显示全部帖子]

谢谢老师!!!

 回到顶部
帅哥哟,离线,有人找我吗?
jackyfashion
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:668 积分:5190 威望:0 精华:0 注册:2013/10/7 22:27:00
  发帖心情 Post By:2017/8/29 21:59:00 [显示全部帖子]

老师:
您好!
窗口最大化,最大的尺寸可不可以设置在任务栏上边,不要大到挡住任务栏.
我的代码可能是大到挡住任务栏.
请老师指教!!!谢谢!!!

 回到顶部
帅哥哟,离线,有人找我吗?
jackyfashion
  6楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:668 积分:5190 威望:0 精华:0 注册:2013/10/7 22:27:00
  发帖心情 Post By:2017/8/29 23:10:00 [显示全部帖子]

老师:
您好!

AfterLoad

e.Form.BaseForm.FormBorderStyle = Windows.Forms.FormBorderStyle.None  '消除窗口的边框

myform = e.Form.BaseForm

 

Dim dc As Foxtable.FormPanel = e.Form.Panel         '窗口底层

AddHandler dc.MouseMove, AddressOf myform_MouseMove  '进入控件事件

AddHandler dc.MouseDown, AddressOf myform_MouseDown  

最小化

e.Form.BaseForm.WindowState =  System.Windows.Forms.FormWindowState.Minimized

最大化

If e.Form.BaseForm.WindowState =  System.Windows.Forms.FormWindowState.Maximized Then

    e.Form.BaseForm.WindowState =  System.Windows.Forms.FormWindowState.Normal

 

   e.Sender.Image = getimage("LLL.png")

Else

    e.Form.BaseForm.WindowState =  System.Windows.Forms.FormWindowState.Maximized

    e.Sender.Image = getimage("LL.png")

End If

退出   Dim vebm As WinForm.Button = e.Form.Controls("Button5")

vebm.PerformClick()

Panel

MouseMove

resizeDir = ResizeDirection.None

MouseDown

If e.Button = Windows.Forms.MouseButtons.Left And e.Form.BaseForm.WindowState <> Windows.Forms.FormWindowState.Maximized Then

    MoveForm()

End If

 谢谢!


 回到顶部
帅哥哟,离线,有人找我吗?
jackyfashion
  7楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:668 积分:5190 威望:0 精华:0 注册:2013/10/7 22:27:00
  发帖心情 Post By:2017/8/29 23:11:00 [显示全部帖子]

全局代码

Default

Public myform As Windows.Forms.Form

 

Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As IntPtr, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As IntegerAs Boolean

Public Declare Function ReleaseCapture Lib "user32" () As Integer

 

Public Const BorderWidth As Integer = 6

Public _resizeDir As ResizeDirection = ResizeDirection.None

 

Public Enum ResizeDirection

None = 0

Left = 1

TopLeft = 2

Top = 3

TopRight = 4

Right = 5

BottomRight = 6

Bottom = 7

BottomLeft = 8

End Enum

 

 



 回到顶部
帅哥哟,离线,有人找我吗?
jackyfashion
  8楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:668 积分:5190 威望:0 精华:0 注册:2013/10/7 22:27:00
  发帖心情 Post By:2017/8/29 23:11:00 [显示全部帖子]

Public Property resizeDir() As ResizeDirection

Get

Return _resizeDir

End Get

Set(ByVal value As ResizeDirection)

_resizeDir = value

 

'Change cursor

Select Case value

    Case ResizeDirection.Left

        myform.Cursor = System.Windows.Forms.Cursors.SizeWE

       

    Case ResizeDirection.Right

        myform.Cursor = System.Windows.Forms.Cursors.SizeWE

       

    Case ResizeDirection.Top

        myform.Cursor = System.Windows.Forms.Cursors.SizeNS

       

    Case ResizeDirection.Bottom

        myform.Cursor = System.Windows.Forms.Cursors.SizeNS

       

    Case ResizeDirection.BottomLeft

        myform.Cursor = System.Windows.Forms.Cursors.SizeNESW

       

    Case ResizeDirection.TopRight

        myform.Cursor = System.Windows.Forms.Cursors.SizeNESW

       

    Case ResizeDirection.BottomRight

        myform.Cursor = System.Windows.Forms.Cursors.SizeNWSE

       

    Case ResizeDirection.TopLeft

        myform.Cursor = System.Windows.Forms.Cursors.SizeNWSE

       

    Case Else

        myform.Cursor = System.Windows.Forms.Cursors.Default

End Select

End Set

End Property

 

Public Const WM_NCLBUTTONDOWN As Integer = &HA1

Public Const HTBORDER As Integer = 18

Public Const HTBOTTOM As Integer = 15

Public Const HTBOTTOMLEFT As Integer = 16

Public Const HTBOTTOMRIGHT As Integer = 17

Public Const HTCAPTION As Integer = 2

Public Const HTLEFT As Integer = 10

Public Const HTRIGHT As Integer = 11

Public Const HTTOP As Integer = 12

Public Const HTTOPLEFT As Integer = 13

Public Const HTTOPRIGHT As Integer = 14

 

 



 回到顶部
帅哥哟,离线,有人找我吗?
jackyfashion
  9楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:668 积分:5190 威望:0 精华:0 注册:2013/10/7 22:27:00
  发帖心情 Post By:2017/8/29 23:12:00 [显示全部帖子]

Public Sub MoveForm()

ReleaseCapture()

SendMessage(myform.Handle, WM_NCLBUTTONDOWN, HTCAPTION, 0)

End Sub

 

Public Sub ResizeForm(ByVal direction As ResizeDirection)

Dim dir As Integer = -1

Select Case direction

    Case ResizeDirection.Left

        dir = HTLEFT

    Case ResizeDirection.TopLeft

        dir = HTTOPLEFT

    Case ResizeDirection.Top

        dir = HTTOP

    Case ResizeDirection.TopRight

        dir = HTTOPRIGHT

    Case ResizeDirection.Right

        dir = HTRIGHT

    Case ResizeDirection.BottomRight

        dir = HTBOTTOMRIGHT

    Case ResizeDirection.Bottom

        dir = HTBOTTOM

    Case ResizeDirection.BottomLeft

        dir = HTBOTTOMLEFT

End Select

 

If dir <> -1 Then

    ReleaseCapture()

    SendMessage(myform.Handle, WM_NCLBUTTONDOWN, dir, 0)

End If

End Sub

 

 

Public Sub myform_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs)

If e.Button = Windows.Forms.MouseButtons.Left And myform.WindowState <> Windows.Forms.FormWindowState.Maximized Then

    ResizeForm(resizeDir)

End If

End Sub

 

Public Sub myform_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs)

'Calculate which direction to resize based on mouse position

 

If e.Location.X < BorderWidth And e.Location.Y < BorderWidth Then

    resizeDir = ResizeDirection.TopLeft

   

ElseIf e.Location.X < BorderWidth And e.Location.Y > myform.Height - BorderWidth Then

    resizeDir = ResizeDirection.BottomLeft

   

ElseIf e.Location.X > myform.Width - BorderWidth And e.Location.Y > myform.Height - BorderWidth Then

    resizeDir = ResizeDirection.BottomRight

   

ElseIf e.Location.X > myform.Width - BorderWidth And e.Location.Y < BorderWidth Then

    resizeDir = ResizeDirection.TopRight

   谢谢老师!


 回到顶部
帅哥哟,离线,有人找我吗?
jackyfashion
  10楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:668 积分:5190 威望:0 精华:0 注册:2013/10/7 22:27:00
  发帖心情 Post By:2017/8/30 23:16:00 [显示全部帖子]

老师:

您好!

我加着 

e.Form.BaseForm.ShowInTaskBar = True

窗口最大化都是挡住任务栏

 


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

这是窗口最大化,看不到任务栏

 

请老师指教!

谢谢!

[此贴子已经被作者于2017/8/30 23:17:24编辑过]

 回到顶部
总数 14 1 2 下一页