Foxtable(狐表)用户栏目专家坐堂 → 求助自定义窗口最小化


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

主题:求助自定义窗口最小化

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


加好友 发短信
等级:二尾狐 帖子:501 积分:4645 威望:0 精华:0 注册:2014/1/23 9:30:00
求助自定义窗口最小化  发帖心情 Post By:2014/8/15 14:57:00 [只看该作者]

这是天问的自定义窗口,我希望点击任务栏图标可以最小化:
图片点击可在新窗口打开查看此主题相关图片如下:01_副本.png
图片点击可在新窗口打开查看

安装bin老师提供的
全局代码
<DllImport("user32.dll", EntryPoint := "GetWindowLong", CharSet := CharSet.Auto)> _
Public Function GetWindowLong(hWnd As HandleRef, nIndex As Integer) As Integer
End Function

<DllImport("user32.dll", EntryPoint := "SetWindowLong", CharSet := CharSet.Auto)> _
Public Function SetWindowLong(hWnd As HandleRef, nIndex As Integer, dwNewLong As Integer) As IntPtr
End Function

窗口afterload代码

Dim WS_SYSMENU As Integer = &H00080000
Dim Min As Integer = &H00020000
Dim windowLong As Integer = GetWindowLong(new HandleRef(e.Form.Baseform, e.Form.Baseform.Handle), -16)
SetWindowLong(new HandleRef(e.Form.Baseform, e.Form.Baseform.Handle), -16, windowLong Or WS_SYSMENU Or min)

这样可以实现,但是导致窗口大小不能调整了。
求助老师帮忙解决这个问题,即点击任务栏可以最小化,又不影响窗口调整大小。


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:自定义皮肤商业版.zip






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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/15 15:08:00 [只看该作者]

代码

 

Dim x As new  BlueSkin(e.Form)
forms("窗口1").baseform.ShowInTaskBar = True

Dim WS_SYSMENU As Integer = &H00080000
Dim Min As Integer = &H00020000
Dim Size As Integer = &H00040000
Dim windowLong As Integer = GetWindowLong(new HandleRef(e.Form.Baseform, e.Form.Baseform.Handle), -16)
SetWindowLong(new HandleRef(e.Form.Baseform, e.Form.Baseform.Handle), -16, windowLong Or WS_SYSMENU Or min Or size)


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


加好友 发短信
等级:二尾狐 帖子:501 积分:4645 威望:0 精华:0 注册:2014/1/23 9:30:00
  发帖心情 Post By:2014/8/15 15:20:00 [只看该作者]

原本可以调整大小的呢,不希望多一个透明框。能不能在原基础上实现窗口最小化。

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


加好友 发短信
等级:二尾狐 帖子:501 积分:4645 威望:0 精华:0 注册:2014/1/23 9:30:00
  发帖心情 Post By:2014/8/15 15:32:00 [只看该作者]

不改变原有功能与状态,就增加点击图标实现最小化

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/15 15:38:00 [只看该作者]

 做不到。

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


加好友 发短信
等级:二尾狐 帖子:501 积分:4645 威望:0 精华:0 注册:2014/1/23 9:30:00
  发帖心情 Post By:2014/8/15 15:41:00 [只看该作者]

难道是熊掌与鱼么

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/15 15:41:00 [只看该作者]

测试了一下,你试试调换 一下位置

 

forms("窗口1").baseform.ShowInTaskBar = True
Dim WS_SYSMENU As Integer = &H00080000
Dim Min As Integer = &H00020000
Dim Size As Integer = &H00040000
Dim windowLong As Integer = GetWindowLong(new HandleRef(e.Form.Baseform, e.Form.Baseform.Handle), -16)
SetWindowLong(new HandleRef(e.Form.Baseform, e.Form.Baseform.Handle), -16, windowLong Or WS_SYSMENU Or min Or size)
Dim x As new  BlueSkin(e.Form)


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/15 15:48:00 [只看该作者]

 再测试了一下,不能并存的。

 回到顶部