TheCurrent Posted April 11, 2011 Share Posted April 11, 2011 i am trying to capture window resize event, but it doesn't work. I need it so i can resize my controls when the window is resized see what i did While 1 $msg = GUIGetMsg() Select Case $msg = $GUI_EVENT_CLOSE MsgBox(0, "", "Dialog was closed") Exit Case $msg = $GUI_EVENT_MINIMIZE MsgBox(0, "", "Dialog minimized", 2) Case $msg = $GUI_EVENT_MAXIMIZE MsgBox(0, "", "Dialog restored", 2) Case $msg = $GUI_EVENT_RESIZED ConsoleWrite("Event fired " & $frmMain) EndSelect WEnd any help why its not firing? Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted April 11, 2011 Moderators Share Posted April 11, 2011 TheCurrent, It works for me: #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> $hGUI = GUICreate("Test", 500, 500, -1, -1, BitOr($GUI_SS_DEFAULT_GUI, $WS_SIZEBOX)) GUISetState() While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE Exit Case $GUI_EVENT_RESIZED ConsoleWrite("Resized" & @CRLF) EndSwitch WEnd 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...
TheCurrent Posted April 11, 2011 Author Share Posted April 11, 2011 i don't know why its not working, but i'll try it again. is it possible to get the new width and height of the window after resize? Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted April 11, 2011 Moderators Share Posted April 11, 2011 TheCurrent,If you use the GUIGetMsg loop to detect the resizing event, then you can use WinGetPos to get the new size of the GUI once the resizing is complete. You can also use a GUIRegisterMsg event handler to detect the resize and get the changing size as it occurs - if you are not too familiar with this, I recommend the GUIRegisterMsg tutorial in the Wiki. This script uses both methods: #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> $hGUI = GUICreate("Test", 500, 500, -1, -1, BitOr($GUI_SS_DEFAULT_GUI, $WS_SIZEBOX)) GUISetState() GUIRegisterMsg($WM_SIZE, "_WM_SIZE") While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE Exit Case $GUI_EVENT_RESIZED $aPos = WinGetPos($hGUI) ConsoleWrite("Resized to " & $aPos[2] & " - " & $aPos[3] & " <<<<<<<<<<<<" & @CRLF) EndSwitch WEnd Func _WM_SIZE($hWnd, $Msg, $wParam, $lParam) $iGUIWidth = BitAND($lParam, 0xFFFF) $iGUIHeight = BitShift($lParam, 16) ConsoleWrite("Resizing to " & $iGUIWidth & " - " & $iGUIHeight & @CRLF) Return $GUI_RUNDEFMSG EndFunc ;==>_WM_SIZEAnd before you ask, the values are not identical as WinGetPos includes the borders and title bar whereas the return from the handler is the client area. But looking back at your first post, why not use GUICtrlSetResizing to get yoru controls to resize automatically? That is what the function is there for! 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...
TheCurrent Posted April 11, 2011 Author Share Posted April 11, 2011 thank you so much, am greatful 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