#2300 closed Bug (Rejected)
$WS_EX_MDICHILD style affects all childs created after it so they act like MDI childs
Reported by: | AoRaToS | Owned by: | |
---|---|---|---|
Milestone: | Component: | AutoIt | |
Version: | 3.3.9.4 | Severity: | None |
Keywords: | Cc: |
Description
I have noticed a weird behavior when using $WS_EX_MDICHILD.
I create a main GUI with 2 buttons.
Each button creates a new GUI.
The first one without $WS_EX_MDICHILD.
The second one with $WS_EX_MDICHILD.
I click the first one and the other GUI is created (without $WS_EX_MDICHILD):
If I drag the main GUI the other GUI is separate and doesn't move, which is expected.
Then I click the second one for the next GUI to be created (with $WS_EX_MDICHILD):
If I now drag the main GUI, both of the other GUIs move with it.
If I close the second GUI, the first one still moves if I drag the main one.
If I close the first one and re-open it, it still moves in relation to the Main GUI (if I drag the main GUI it follows)
Is this how it's supposed to be? Does the style affect all GUIs created even without the style?
Here is a script to try it out:
(Follow the instructions above)
#include <GUIConstantsEx.au3> #include <WindowsConstants.au3> Opt("GUIOnEventMode", 1) Opt("GUICloseOnESC", 0) Global $Main MainGUI() Func MainGUI() $Main = GUICreate("Main", 350, 350) GUISetOnEvent($GUI_EVENT_CLOSE, "WindowClose") $button1 = GUICtrlCreateButton("Child 1 - no MDI_CHILD", 75, 100, 150, 20) GUICtrlSetOnEvent($button1, "Child1") $button2 = GUICtrlCreateButton("Child 2 - with MDI", 75, 150, 150, 20) GUICtrlSetOnEvent($button2, "Child2") GUISetState(@SW_SHOW, $Main) EndFunc Func Child1() $ChildGUI1 = GUICreate("Child 1 - no MDI_CHILD", 180, 180, 100, 100, Default, Default, $Main) GUISetOnEvent($GUI_EVENT_CLOSE, "WindowClose") GUISetState(@SW_SHOW, $ChildGUI1) EndFunc Func Child2() $ChildGUI2 = GUICreate("Child 2 - with MDI", 180, 180, 100, 100, Default, $WS_EX_MDICHILD, $Main) GUISetOnEvent($GUI_EVENT_CLOSE, "WindowClose") GUISetState(@SW_SHOW, $ChildGUI2) EndFunc Func WindowClose() GUIDelete(@GUI_WinHandle) If @GUI_WinHandle = $Main Then Exit EndIf EndFunc While 1 Sleep(100) WEnd
http://www.autoitscript.com/forum/topic/147406-weird-behavior-with-ws-ex-mdichild/
Attachments (0)
Change History (2)
comment:1 Changed 11 years ago by Jon
- Resolution set to Rejected
- Status changed from new to closed
comment:2 Changed 10 years ago by anonymous
Guidelines for posting comments:
- You cannot re-open a ticket but you may still leave a comment if you have additional information to add.
- In-depth discussions should take place on the forum.
For more information see the full version of the ticket guidelines here.
This issue is still happening with the latest version.