以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 求助自定义窗口最小化 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=55383) |
||||
-- 作者:bzfc57 -- 发布时间:2014/8/15 14:57:00 -- 求助自定义窗口最小化 这是天问的自定义窗口,我希望点击任务栏图标可以最小化: ![]() ![]() 安装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) 这样可以实现,但是导致窗口大小不能调整了。 求助老师帮忙解决这个问题,即点击任务栏可以最小化,又不影响窗口调整大小。
|
||||
-- 作者:有点甜 -- 发布时间:2014/8/15 15:08:00 -- 代码
Dim x As new BlueSkin(e.Form) Dim WS_SYSMENU As Integer = &H00080000 |
||||
-- 作者:bzfc57 -- 发布时间:2014/8/15 15:20:00 -- 原本可以调整大小的呢,不希望多一个透明框。能不能在原基础上实现窗口最小化。 |
||||
-- 作者:bzfc57 -- 发布时间:2014/8/15 15:32:00 -- 不改变原有功能与状态,就增加点击图标实现最小化 |
||||
-- 作者:有点甜 -- 发布时间:2014/8/15 15:38:00 -- 做不到。 |
||||
-- 作者:bzfc57 -- 发布时间:2014/8/15 15:41:00 -- 难道是熊掌与鱼么 |
||||
-- 作者:有点甜 -- 发布时间:2014/8/15 15:41:00 -- 测试了一下,你试试调换 一下位置
forms("窗口1").baseform.ShowInTaskBar = True |
||||
-- 作者:有点甜 -- 发布时间:2014/8/15 15:48:00 -- 再测试了一下,不能并存的。 |