Opened 17 years ago
Closed 17 years ago
#96 closed Bug (No Bug)
Display problems with 2 embedded WebBrowser objects in GUI
Reported by: | DaleHohm | Owned by: | |
---|---|---|---|
Milestone: | Component: | AutoIt | |
Version: | 3.2.11.0 | Severity: | |
Keywords: | Cc: |
Description
When 2 WebBrowser controls are embedded in a GUI and are sequentially updated, the content of the first becomes invisible when the second is updated. Visibility is restored by occlude/expose, content selection or minimize/restore.
Tested on: AutoIt 3.2.10.0 and 3.2.11.0 beta, Windows XP SP2
Note: Similar issues have been reported previously involving GUI Tabs and having embedded browsers on multiple tabs. The people experiencing this issue did not create simple reproducers, not log bug reports. A reproducer for this is NOT being presented here, but it is being mentioned in case it adds further clues for isolation and resolution.
Issue reported in the forum by Romm here:
http://www.autoitscript.com/forum/index.php?showtopic=63391&st=0&gopid=473052&#entry473052
Reproducer code:
#include <GUIConstants.au3> ; Create two WebBrowser controls to embed $oIE1 = ObjCreate("Shell.Explorer.2") $oIE2 = ObjCreate("Shell.Explorer.2") ; Setup the parent GUI and embed the controls $hwnd = GUICreate("Embedded Web control Test", 1200, 700) $GUIActiveX1 = GUICtrlCreateObj($oIE2, 980, 1, 100, 600) $GUIActiveX2 = GUICtrlCreateObj($oIE1, 1, 1, 970, 660) GUISetState() ;Show GUI ; Update first control $oIE1.navigate("http://www.autoitscript.com") ; Wait for document object to be created While Not IsObj($oIE1.document) Sleep(100) WEnd ; Wait for document load to complete While $oIE1.document.readyState <> "complete" Sleep(100) WEnd ; Update second control $oIE2.navigate("http://www.autoitscript.com") ; Wait for document object to be created While Not IsObj($oIE2.document) Sleep(100) WEnd ; Wait for document load to complete While $oIE2.document.readyState <> "complete" Sleep(100) WEnd ; When the second control is updated, the content in the first control becomes invisible. ; If occluding and exposing the first control with another window, dragging accross it with Mouse-button 1 ; or minimizing and restoring the full window causes it to display properly. ; ; Wait 5 seconds, then minimize and restore the window to demonstrate the fact that the ; content in control 1 suddenly becomes visible ; Sleep(5000) WinSetState($hwnd, "", @SW_MINIMIZE) WinSetState($hwnd, "", @SW_RESTORE) ; Waiting for user to close the window While 1 $msg = GUIGetMsg() Select Case $msg = $GUI_EVENT_CLOSE ExitLoop EndSelect WEnd GUIDelete() Exit
Attachments (0)
Change History (1)
comment:1 Changed 17 years ago by Jpm
- Resolution set to nobug
- Status changed from new to closed
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.
Just reread rthe doc, $WS_CLIPCHILDREN is needed