以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  无边框窗体如何实现点击任务栏图标正常最小化或还原窗体?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=106606)

--  作者:Hopenight
--  发布时间:2017/9/12 15:28:00
--  无边框窗体如何实现点击任务栏图标正常最小化或还原窗体?
我用一个模态窗口做主窗体,而且将这个模态窗口设置为了无边框。
请问一下,如何实现点击任务栏图标正常最小化或还原窗体?

我在百度上找到了针对常规的WinForm程序,相应的解决方案。
https://zhidao.baidu.com/question/623853421877827564.html

可是不知道怎样将该方法使用到狐表的Form上。请各位高手指教...

--  作者:有点甜
--  发布时间:2017/9/12 16:05:00
--  

参考

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:无边框窗体实现基本操作.table


--  作者:Hopenight
--  发布时间:2017/9/12 16:31:00
--  
这个我已经看过了,还是没有头绪啊
--  作者:有点甜
--  发布时间:2017/9/12 17:41:00
--  
全局代码
<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)

--  作者:Hopenight
--  发布时间:2017/9/13 10:42:00
--  
果然好用,感谢