4 个解决方案
#1
带有 "WS_POPUP style" 窗口的 "父窗口" 叫 Owner 窗口.
所以 SetParent 后, 把 子窗口(WS_CHILD )改为 WS_POPUP 就可以了.
所以 SetParent 后, 把 子窗口(WS_CHILD )改为 WS_POPUP 就可以了.
#2
[q
uote=引用 1 楼 schlafenhamster 的回复:]
带有 "WS_POPUP style" 窗口的 "父窗口" 叫 Owner 窗口.
所以 SetParent 后, 把 子窗口(WS_CHILD )改为 WS_POPUP 就可以了.
======================================================
我试了一下,这样SetParent()后,子窗口不能放到父窗口外面。
依然不是SetOwner的功能吧
被拥有窗口是能放到所有者窗口外面的那种。
看下我的代码吧:
这样之后hOwned还是不能放到hOwner的外面,并且 GetWindow(hOwned,GW_OWNER)返回空值。
请问是不是哪里有错?
带有 "WS_POPUP style" 窗口的 "父窗口" 叫 Owner 窗口.
所以 SetParent 后, 把 子窗口(WS_CHILD )改为 WS_POPUP 就可以了.
======================================================
我试了一下,这样SetParent()后,子窗口不能放到父窗口外面。
依然不是SetOwner的功能吧
被拥有窗口是能放到所有者窗口外面的那种。
看下我的代码吧:
/* HWND hOwner 已声明 */
HWND hOwned= CreateWindowEx(WS_EX_TOPMOST | WS_EX_TOOLWINDOW,TEXT("PINS"), NULL, WS_POPUP | WS_VISIBLE | WS_CLIPSIBLINGS ,300, -10, 32, 32, NULL,NULL,hInst, 0);
SetParent(hOwned, hOwner);
这样之后hOwned还是不能放到hOwner的外面,并且 GetWindow(hOwned,GW_OWNER)返回空值。
请问是不是哪里有错?
#3
WS_EX_TOPMOST | WS_EX_TOOLWINDOW 这2个风格改改看
#4
========================================================
好了。我自己刚才 解决了。
应该是在CreateWindowEx()的hParent参数中直接 填 hOwner就好了,这样GetWindow(hOwned,GW_OWNER)也会正常返回值。
不管怎样,都谢谢你~
#1
带有 "WS_POPUP style" 窗口的 "父窗口" 叫 Owner 窗口.
所以 SetParent 后, 把 子窗口(WS_CHILD )改为 WS_POPUP 就可以了.
所以 SetParent 后, 把 子窗口(WS_CHILD )改为 WS_POPUP 就可以了.
#2
[q
uote=引用 1 楼 schlafenhamster 的回复:]
带有 "WS_POPUP style" 窗口的 "父窗口" 叫 Owner 窗口.
所以 SetParent 后, 把 子窗口(WS_CHILD )改为 WS_POPUP 就可以了.
======================================================
我试了一下,这样SetParent()后,子窗口不能放到父窗口外面。
依然不是SetOwner的功能吧
被拥有窗口是能放到所有者窗口外面的那种。
看下我的代码吧:
这样之后hOwned还是不能放到hOwner的外面,并且 GetWindow(hOwned,GW_OWNER)返回空值。
请问是不是哪里有错?
带有 "WS_POPUP style" 窗口的 "父窗口" 叫 Owner 窗口.
所以 SetParent 后, 把 子窗口(WS_CHILD )改为 WS_POPUP 就可以了.
======================================================
我试了一下,这样SetParent()后,子窗口不能放到父窗口外面。
依然不是SetOwner的功能吧
被拥有窗口是能放到所有者窗口外面的那种。
看下我的代码吧:
/* HWND hOwner 已声明 */
HWND hOwned= CreateWindowEx(WS_EX_TOPMOST | WS_EX_TOOLWINDOW,TEXT("PINS"), NULL, WS_POPUP | WS_VISIBLE | WS_CLIPSIBLINGS ,300, -10, 32, 32, NULL,NULL,hInst, 0);
SetParent(hOwned, hOwner);
这样之后hOwned还是不能放到hOwner的外面,并且 GetWindow(hOwned,GW_OWNER)返回空值。
请问是不是哪里有错?
#3
WS_EX_TOPMOST | WS_EX_TOOLWINDOW 这2个风格改改看
#4
========================================================
好了。我自己刚才 解决了。
应该是在CreateWindowEx()的hParent参数中直接 填 hOwner就好了,这样GetWindow(hOwned,GW_OWNER)也会正常返回值。
不管怎样,都谢谢你~