囧了,关于窗体置顶与取消置顶的问题。
SetWindowPos Me.hwnd, -1, 0, 0, 0, 0, 3
SetWindowPos Me.hwnd, 1, 0, 0, 0, 0, 3
上面一是“置顶”,二是“取消置顶”
但问题是,假如我同时已经有几个窗体都是置顶,一但用了“取消置顶”的命令。就会出现所有窗体都全“取消置顶”的问题。但“置顶”倒没有问题,可以一个一个的置顶。
请问这是为什么呢?
还有我如何判断窗体是否“置顶”呢?我用“ByVal hWndInsertAfter As Long”中来判断好象不行.......
啊......我可能想到这个问题........因为我在各窗体的“通用”部分都声明了
Private Declare Function SetWindowPos& Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long)
会不会是这里出问题呢?...但是“置顶”又可以一个一个的置顶的啊....?
[解决办法]
很不幸的孩子..........你貌似遇到一个BUG了...............
http://support.microsoft.com/kb/192254/zh-cn
当使用 NoTopmost 标志为 Visual Basic 窗体调用 SetWindowPos 时, 项目中的所有窗体被设置为 NoTopmost。
[解决办法]