DeFirence Posted August 24, 2007 Share Posted August 24, 2007 (edited) Hi all, I have created a child window in my main gui, but i cant get it to move when i move the main gui because it is a $WS_POPUP window without a frame and (from AutoIt3 Docs) $WS_CHILD 0x40000000 Creates a child window. A window with this style cannot have a menu bar. This style cannot be used with the WS_POPUP style. I made a little script that moves the child to respective coordinates, but it only moves when u put the window down, so it looks kak... How can i get my child popup window to move with the parent, Here is my code: #include <GUIConstants.au3> $title = "Title" ;- Main GUI Title $gui = GUICreate($title, 620, 500, -1, -1) ;- Main GUI Window $close = GUICtrlCreateButton("Close", 550, 465, 59, 25) ;- Close Button $Pos = WinGetPos($gui) GUISetState() $infofield = GUICreate("infofield", 425, 440, 203, 175, BitOR($WS_POPUP,$WS_VSCROLL), -1, $gui) GUISetState() While 1 $msg = GUIGetMsg() Select Case $msg = $GUI_EVENT_CLOSE ExitLoop Case $msg = $close ExitLoop EndSelect ;my cheap way to do what i need $Pos1 = WinGetPos($gui) If $Pos1[0]*$Pos1[1] <> $Pos[0]*$Pos[1] Then $Pos = WinGetPos($gui) WinMove($infofield,"",$Pos[0]+3,$Pos[1]+72) EndIf WEnd Edited August 24, 2007 by DeFirence Link to comment Share on other sites More sharing options...
JohnBailey Posted August 28, 2007 Share Posted August 28, 2007 In the doc file (the manual) there is an example of "window docking" in _GUICtrlListViewCopyItems() (<--- look for that) A decision is a powerful thing Link to comment Share on other sites More sharing options...
JohnBailey Posted August 28, 2007 Share Posted August 28, 2007 Basically, what I was attempting you to go look at is the following (developed by GaFrost)http://www.autoitscript.com/forum/index.ph...WindowsDocked() A decision is a powerful thing Link to comment Share on other sites More sharing options...
MrCreatoR Posted August 28, 2007 Share Posted August 28, 2007 It's not what he want ....DeFirenceTry this (MDI imitation ):#include <GUIConstants.au3> $title = "Title" ;- Main GUI Title $gui = GUICreate($title, 620, 500, -1, -1) ;- Main GUI Window $close = GUICtrlCreateButton("Close", 550, 465, 59, 25) ;- Close Button $Pos = WinGetPos($gui) $infofield = GUICreate("infofield", 425, 440, 0, 30, BitOR($WS_POPUP,$WS_VSCROLL), -1, $gui) GUISetState(@SW_SHOW, $gui) DllCall("user32.dll", "int", "SetParent", "hwnd", $infofield, "hwnd", $gui) GUISetState(@SW_SHOW, $infofield) While 1 $msg = GUIGetMsg() Select Case $msg = $GUI_EVENT_CLOSE ExitLoop Case $msg = $close ExitLoop EndSelect WEnd Spoiler Using OS: Win 7 Professional, Using AutoIt Ver(s): 3.3.6.1 / 3.3.8.1 AutoIt Russian Community My Work... Spoiler Projects: ATT - Application Translate Tool {new}| BlockIt - Block files & folders {new}| SIP - Selected Image Preview {new}| SISCABMAN - SciTE Abbreviations Manager {new}| AutoIt Path Switcher | AutoIt Menu for Opera! | YouTube Download Center! | Desktop Icons Restorator | Math Tasks | KeyBoard & Mouse Cleaner | CaptureIt - Capture Images Utility | CheckFileSize ProgramUDFs: OnAutoItErrorRegister - Handle AutoIt critical errors {new}| AutoIt Syntax Highlight {new}| Opera Library! | Winamp Library | GetFolderToMenu | Custom_InputBox()! | _FileRun UDF | _CheckInput() UDF | _GUIInputSetOnlyNumbers() UDF | _FileGetValidName() UDF | _GUICtrlCreateRadioCBox UDF | _GuiCreateGrid() | _PathSplitByRegExp() | _GUICtrlListView_MoveItems - UDF | GUICtrlSetOnHover_UDF! | _ControlTab UDF! | _MouseSetOnEvent() UDF! | _ProcessListEx - UDF | GUICtrl_SetResizing - UDF! | Mod. for _IniString UDFs | _StringStripChars UDF | _ColorIsDarkShade UDF | _ColorConvertValue UDF | _GUICtrlTab_CoverBackground | CUI_App_UDF | _IncludeScripts UDF | _AutoIt3ExecuteCode | _DragList UDF | Mod. for _ListView_Progress | _ListView_SysLink | _GenerateRandomNumbers | _BlockInputEx | _IsPressedEx | OnAutoItExit Handler | _GUICtrlCreateTFLabel UDF | WinControlSetEvent UDF | Mod. for _DirGetSizeEx UDF Examples: ScreenSaver Demo - Matrix included | Gui Drag Without pause the script | _WinAttach()! | Turn Off/On Monitor | ComboBox Handler Example | Mod. for "Thinking Box" | Cool "About" Box | TasksBar Imitation Demo Like the Projects/UDFs/Examples? Please rate the topic (up-right corner of the post header: Rating ) * === My topics === * ================================================== ================================================== AutoIt is simple, subtle, elegant. © AutoIt Team Link to comment Share on other sites More sharing options...
JohnBailey Posted August 28, 2007 Share Posted August 28, 2007 It's not what he want .... DeFirence Try this (MDI imitation ): #include <GUIConstants.au3> $title = "Title" ;- Main GUI Title $gui = GUICreate($title, 620, 500, -1, -1) ;- Main GUI Window $close = GUICtrlCreateButton("Close", 550, 465, 59, 25) ;- Close Button $Pos = WinGetPos($gui) $infofield = GUICreate("infofield", 425, 440, 0, 30, BitOR($WS_POPUP,$WS_VSCROLL), -1, $gui) GUISetState(@SW_SHOW, $gui) DllCall("user32.dll", "int", "SetParent", "hwnd", $infofield, "hwnd", $gui) GUISetState(@SW_SHOW, $infofield) While 1 $msg = GUIGetMsg() Select Case $msg = $GUI_EVENT_CLOSE ExitLoop Case $msg = $close ExitLoop EndSelect WEnd oh my bad A decision is a powerful thing Link to comment Share on other sites More sharing options...
JohnBailey Posted August 28, 2007 Share Posted August 28, 2007 hmm, MsCreator, doesn't that place the child window inside the parent window? It does on my system. DeFirence haha that may be what you want. A decision is a powerful thing Link to comment Share on other sites More sharing options...
MrCreatoR Posted August 28, 2007 Share Posted August 28, 2007 doesn't that place the child window inside the parent window?I only modified the example of DeFirence, so now it's behaive like he wanted - when you drag the main (host) gui the child gui is moved with it, even if you still hold down the mose button on draging the parent. Spoiler Using OS: Win 7 Professional, Using AutoIt Ver(s): 3.3.6.1 / 3.3.8.1 AutoIt Russian Community My Work... Spoiler Projects: ATT - Application Translate Tool {new}| BlockIt - Block files & folders {new}| SIP - Selected Image Preview {new}| SISCABMAN - SciTE Abbreviations Manager {new}| AutoIt Path Switcher | AutoIt Menu for Opera! | YouTube Download Center! | Desktop Icons Restorator | Math Tasks | KeyBoard & Mouse Cleaner | CaptureIt - Capture Images Utility | CheckFileSize ProgramUDFs: OnAutoItErrorRegister - Handle AutoIt critical errors {new}| AutoIt Syntax Highlight {new}| Opera Library! | Winamp Library | GetFolderToMenu | Custom_InputBox()! | _FileRun UDF | _CheckInput() UDF | _GUIInputSetOnlyNumbers() UDF | _FileGetValidName() UDF | _GUICtrlCreateRadioCBox UDF | _GuiCreateGrid() | _PathSplitByRegExp() | _GUICtrlListView_MoveItems - UDF | GUICtrlSetOnHover_UDF! | _ControlTab UDF! | _MouseSetOnEvent() UDF! | _ProcessListEx - UDF | GUICtrl_SetResizing - UDF! | Mod. for _IniString UDFs | _StringStripChars UDF | _ColorIsDarkShade UDF | _ColorConvertValue UDF | _GUICtrlTab_CoverBackground | CUI_App_UDF | _IncludeScripts UDF | _AutoIt3ExecuteCode | _DragList UDF | Mod. for _ListView_Progress | _ListView_SysLink | _GenerateRandomNumbers | _BlockInputEx | _IsPressedEx | OnAutoItExit Handler | _GUICtrlCreateTFLabel UDF | WinControlSetEvent UDF | Mod. for _DirGetSizeEx UDF Examples: ScreenSaver Demo - Matrix included | Gui Drag Without pause the script | _WinAttach()! | Turn Off/On Monitor | ComboBox Handler Example | Mod. for "Thinking Box" | Cool "About" Box | TasksBar Imitation Demo Like the Projects/UDFs/Examples? Please rate the topic (up-right corner of the post header: Rating ) * === My topics === * ================================================== ================================================== AutoIt is simple, subtle, elegant. © AutoIt Team Link to comment Share on other sites More sharing options...
JohnBailey Posted August 28, 2007 Share Posted August 28, 2007 I only modified the example of DeFirence, so now it's behaive like he wanted - when you drag the main (host) gui the child gui is moved with it, even if you still hold down the mose button on draging the parent.oh yeah which is awesome! I was just saying on my machine it places the child win inside the parent win. I actually am attempting to do something similar to this, but the SetParent function results in the child win moving into the parent win... at least on my machine. A decision is a powerful thing Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now