E1M1 Posted October 27, 2010 Share Posted October 27, 2010 Is there any way to enable typing in edit control which is in Child window. $WS_CHILD does not allow me to type in edit control, but if I remove $WS_CHILD child window is no longer locked in it's parent. I need $WS_CHILD because I want to keep my window in parent window, and I want to move it tegether with parent window. I am wondering if any one could help me find way around this? #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> $Form1 = GUICreate("Parent", 800,600, Default, Default, BitOR($WS_CLIPCHILDREN, $WS_CLIPSIBLINGS, $WS_BORDER, $WS_MAXIMIZEBOX, $WS_MINIMIZEBOX, $WS_SIZEBOX, $WS_SYSMENU)) GUISetState(@SW_SHOW) $hEditor = GUICreate("Child", 583, 302, 210, 0,BitOR($WS_CHILD, $WS_THICKFRAME, $WS_CAPTION),-1,$Form1) $log = GUICtrlCreateEdit("Type here",2,2,579,300) GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit EndSwitch WEnd edited Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted October 27, 2010 Moderators Share Posted October 27, 2010 E1M1, If you use the API call to set the parentage rather then the style, the edit control works: #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <WinAPI.au3> $Form1 = GUICreate("Parent", 800, 600, Default, Default, BitOR($WS_CLIPCHILDREN, $WS_CLIPSIBLINGS, $WS_BORDER, $WS_MAXIMIZEBOX, $WS_MINIMIZEBOX, $WS_SIZEBOX, $WS_SYSMENU)) GUISetState(@SW_SHOW) $hEditor = GUICreate("Child", 583, 302, 210, 0, BitOR($WS_THICKFRAME, $WS_CAPTION), -1, $Form1) $log = GUICtrlCreateEdit("Type here", 2, 2, 579, 300) GUISetState(@SW_SHOW) ; Set parent _WinAPI_SetParent($hEditor, $Form1) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit EndSwitch WEnd But I cannot say how that will affect the rest of the script - give it a go and see. M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
E1M1 Posted October 27, 2010 Author Share Posted October 27, 2010 This method is better than previous, but it makes main window not resizeable and I cant click close button on main window, it's title bar stays grey. There must be better way to do this, so many programs are out there that have child and parend windows system. edited Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted October 27, 2010 Moderators Share Posted October 27, 2010 E1M1, Change the parent GUI creation code like this and see what you think: $Form1 = GUICreate("Parent", 800, 600, Default, Default, BitOR($WS_CLIPCHILDREN, $WS_CLIPSIBLINGS, $WS_BORDER, $WS_MAXIMIZEBOX, $WS_MINIMIZEBOX, $WS_SIZEBOX, $WS_SYSMENU)) GUICtrlCreateLabel("", 0, 0, 0, 0) ; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<< New line GUISetState(@SW_SHOW) M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
E1M1 Posted October 27, 2010 Author Share Posted October 27, 2010 Nice find, I cant understand how can 1 empty label do that for GUI what special it does?? I thought it woult only use some space in memory, but I see it can do something more useful too. edited Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted October 27, 2010 Moderators Share Posted October 27, 2010 E1M1, So far no one has been able to explain it - but it works every time! If you ever do find out why - please let us know! M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area 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