Letraindusoir Posted December 26, 2019 Share Posted December 26, 2019 Hi,erverybody friends,I want to find an example, it is like this: 1, when the form is close to the edge of the screen, it will be automatically hidden immediately, leaving only one boundary or icon 2. When the mouse touches the above boundary or icon, the form can automatically display or return to its original state 3. When the mouse stays in the form area, it can carry out various form control operations 4. After the mouse moves out of the form area, the form can automatically pull over and hide again. I used the keywords "form close to the boundary automatically hide", "form automatic pull over" and so on did not find. please help thanks in advance! Link to comment Share on other sites More sharing options...
Nine Posted December 26, 2019 Share Posted December 26, 2019 What have you tried so far ? “They did not know it was impossible, so they did it” ― Mark Twain Spoiler Block all input without UAC Save/Retrieve Images to/from Text Monitor Management (VCP commands) Tool to search in text (au3) files Date Range Picker Virtual Desktop Manager Sudoku Game 2020 Overlapped Named Pipe IPC HotString 2.0 - Hot keys with string x64 Bitwise Operations Multi-keyboards HotKeySet Recursive Array Display Fast and simple WCD IPC Multiple Folders Selector Printer Manager GIF Animation (cached) Screen Scraping Multi-Threading Made Easy Link to comment Share on other sites More sharing options...
Letraindusoir Posted December 27, 2019 Author Share Posted December 27, 2019 expandcollapse popup#NoTrayIcon #include <WindowsConstants.au3> Opt("MustDeclareVars", 1) Opt('GUIOnEventMode', 1) Local $hGui = GUICreate("", 180, 135, @DesktopWidth + 190, @DesktopHeight - 200, -1, $WS_EX_TOPMOST + $WS_EX_CLIENTEDGE + $WS_EX_TOOLWINDOW) GUICtrlCreateGroup("", 5, 0, 168, 70) Local $idCbox = GUICtrlCreateCombo("", 12, 16, 95, 20) GUICtrlSetData($idCbox, "Blueberry|Cherry|Pistachio|Strawberry", "") GUICtrlCreateGroup("", -99, -99, 1, 1) GUISetOnEvent(-3, "_Exit") GUICtrlSetOnEvent($idCbox, "_GetComboSel") GUISetState(@SW_SHOW) AdlibRegister("_DoCycles", 250) While 1 Sleep(250) WEnd AdlibUnRegister("_DoCycles") ;------------------------------------------------------------------------------------------------------------ func _Exit() Exit EndFunc func _GetComboSel() msgbox(4096,"",GUICtrlRead($idCbox,0) & "is Selected!") EndFunc Func _DoCycles() _WinHide($hGui, 360, 1, 500) ;_WinAPI_SetWindowPos($hGui,$HWND_TOP, 0, 0, 0, 0, 3) ;WinSetOnTop($hGui, "", 1);,_WinAPI_BringWindowToTop($hGui) EndFunc ;==>_DoCycles Func _WinHide($hWnd, $Gap, $Edg, $iDelay = 0) Local $Wp = WinGetPos($hWnd) Local $wL = $Wp[0] Local $wT = $Wp[1] Local $wW = $Wp[2] Local $wH = $Wp[3] Local $Mp = MouseGetPos() Local $mX = $Mp[0] Local $mY = $Mp[1] Local $iPos = _WindowToScreen($wL, $wT, $wW, $wH, $Gap) Switch $iPos Case 0 ;Near Left Edge If _MouseOnWindow($wL, $wT, $wW, $wH, $mX, $mY) Then WinMove($hWnd, "", 0, $wT) Else If $iDelay > 0 Then Sleep($iDelay) WinMove($hWnd, "", -$wW + $Edg, $wT) EndIf Case 1 ;Near Top Edge If _MouseOnWindow($wL, $wT, $wW, $wH, $mX, $mY) Then WinMove($hWnd, "", $wL, 0) Else If $iDelay > 0 Then Sleep($iDelay) WinMove($hWnd, "", $wL, -$wH + $Edg) EndIf Case 2 ;Near Right Edge If _MouseOnWindow($wL, $wT, $wW, $wH, $mX, $mY) Then WinMove($hWnd, "", @DesktopWidth - $wW, $wT) Else If $iDelay > 0 Then Sleep($iDelay) WinMove($hWnd, "", @DesktopWidth - $Edg, $wT) EndIf Case 3 ;Near Bottom Edge If _MouseOnWindow($wL, $wT, $wW, $wH, $mX, $mY) Then WinMove($hWnd, "", $wL, @DesktopHeight - $wH) Else If $iDelay > 0 Then Sleep($iDelay) WinMove($hWnd, "", $wL, @DesktopHeight - $Edg) EndIf EndSwitch EndFunc ;==>_WinHide Func _MouseOnWindow($iwL, $iwT, $iwW, $iwH, $imX, $imY);the GUI Rect($iwL, $iwT, $iwW, $iwH);the mouse position($imX, $imY) Local $bInW If $imX >= $iwL And $imX <= $iwL + $iwW And $imY >= $iwT And $imY <= $iwT + $iwH Then $bInW = True Else $bInW = False EndIf Return $bInW EndFunc ;==>_MouseOnWindow Func _WindowToScreen($iwL, $iwT, $iwW, $iwH, $iGap);the GUI Rect($iwL, $iwT, $iwW, $iwH);$iGap:the distance between GUI border with Screen edge Local $iRet Select Case $iwL <= $iGap $iRet = 0 Case $iwT <= $iGap $iRet = 1 Case $iwL >= (@DesktopWidth - $iGap - $iwW) $iRet = 2 Case $iwT >= (@DesktopHeight - $iGap - $iwH) $iRet = 3 Case Else $iRet = 4 EndSelect Return $iRet EndFunc ;==>_WindowToScreen Link to comment Share on other sites More sharing options...
Letraindusoir Posted December 27, 2019 Author Share Posted December 27, 2019 (edited) On 12/26/2019 at 9:11 PM, Nine said: What have you tried so far ? The code shown above. feel It isn't good. There are two problems: 1. When the combo box options Expanded, the form is hidden, but the combo box is still in the same place.As shown in the picture below: 2、when the form is Set-Top, it would affects the behavior of the internal controls of itself, such as the inability to expand the combo box options Edited December 27, 2019 by Letraindusoir Link to comment Share on other sites More sharing options...
Nine Posted December 27, 2019 Share Posted December 27, 2019 To solve 1 - add this when you hide the window ControlCommand ($hGui, "", $idCbox, "HideDropDown", "") I cannot replicate 2, maybe I don't understand the issue... “They did not know it was impossible, so they did it” ― Mark Twain Spoiler Block all input without UAC Save/Retrieve Images to/from Text Monitor Management (VCP commands) Tool to search in text (au3) files Date Range Picker Virtual Desktop Manager Sudoku Game 2020 Overlapped Named Pipe IPC HotString 2.0 - Hot keys with string x64 Bitwise Operations Multi-keyboards HotKeySet Recursive Array Display Fast and simple WCD IPC Multiple Folders Selector Printer Manager GIF Animation (cached) Screen Scraping Multi-Threading Made Easy Link to comment Share on other sites More sharing options...
Letraindusoir Posted December 28, 2019 Author Share Posted December 28, 2019 17 hours ago, Nine said: To solve 1 - add this when you hide the window ControlCommand ($hGui, "", $idCbox, "HideDropDown", "") I cannot replicate 2, maybe I don't understand the issue... thank Nine for providing the solution. 1, but there are still doubts about the first question. Previously I thought the control was attached to the form, the form was hidden, and the control was immediately hidden with the form. but What is the cause of this phenomenon? If simply solve the problem by sending commands to the control, it does not seem to solve the problem from the root. 2. The second problem has been solved because the top-setting function is running in the loop body, which directly affects the control behavior in the form Link to comment Share on other sites More sharing options...
Letraindusoir Posted December 28, 2019 Author Share Posted December 28, 2019 I am from a non-English-speaking area. I am not very good at searching in English. I don't know what keywords to use to search for similar examples I want to see. I want to refer to the good code written by others to eliminate the bug in my code.Thanks everybody。 Link to comment Share on other sites More sharing options...
LarsJ Posted December 29, 2019 Share Posted December 29, 2019 (edited) Try this code: expandcollapse popup#AutoIt3Wrapper_Au3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6 #AutoIt3Wrapper_UseX64=y Opt( "MustDeclareVars", 1 ) #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <StaticConstants.au3> #include <WinAPIGdi.au3> Global $hGui, $hLeft, $hTop, $hRight, $hBottom, $idGuiNearEdge, $bGuiNearEdge = False Example() Func Example() ; Small window along the left desktop edge $hLeft = GUICreate( "", 24, 50, 0, -1, $WS_POPUP, $WS_EX_TOPMOST ) Local $hLeftLbl = GUICtrlGetHandle( GUICtrlCreateLabel( "4", 0, 0, 24, 50, $SS_CENTER+$SS_CENTERIMAGE ) ) GUICtrlSetFont( -1, 16, 400, 0, "Webdings" ) Local $aLeftRgn[4][2] = [ [0, 0], [24, 10], [24, 40], [0, 50] ] Local $hRgn = _WinAPI_CreatePolygonRgn( $aLeftRgn ) _WinAPI_SetWindowRgn( $hLeft, $hRgn, 0 ) ; Small window along the top desktop edge $hTop = GUICreate( "", 50, 24, -1, 0, $WS_POPUP, $WS_EX_TOPMOST ) Local $hTopLbl = GUICtrlGetHandle( GUICtrlCreateLabel( "6", 0, 0, 50, 24, $SS_CENTER+$SS_CENTERIMAGE ) ) GUICtrlSetFont( -1, 16, 400, 0, "Webdings" ) Local $aTopRgn[4][2] = [ [0, 0], [50, 0], [40, 24], [10, 24] ] $hRgn = _WinAPI_CreatePolygonRgn( $aTopRgn ) _WinAPI_SetWindowRgn( $hTop, $hRgn, 0 ) ; Small window along the right desktop edge $hRight = GUICreate( "", 24, 50, @DesktopWidth-24, -1, $WS_POPUP, $WS_EX_TOPMOST ) Local $hRightLbl = GUICtrlGetHandle( GUICtrlCreateLabel( "3", 0, 0, 24, 50, $SS_CENTER+$SS_CENTERIMAGE ) ) GUICtrlSetFont( -1, 16, 400, 0, "Webdings" ) Local $aRightRgn[4][2] = [ [0, 10], [24, 0], [24, 50], [0, 40] ] $hRgn = _WinAPI_CreatePolygonRgn( $aRightRgn ) _WinAPI_SetWindowRgn( $hRight, $hRgn, 0 ) ; Small window along the bottom desktop edge $hBottom = GUICreate( "", 50, 24, -1, @DesktopHeight-24, $WS_POPUP, $WS_EX_TOPMOST ) Local $hBottomLbl = GUICtrlGetHandle( GUICtrlCreateLabel( "5", 0, 0, 50, 24, $SS_CENTER+$SS_CENTERIMAGE ) ) GUICtrlSetFont( -1, 16, 400, 0, "Webdings" ) Local $aBottomRgn[4][2] = [ [10, 0], [40, 0], [50, 24], [0, 24] ] $hRgn = _WinAPI_CreatePolygonRgn( $aBottomRgn ) _WinAPI_SetWindowRgn( $hBottom, $hRgn, 0 ) ; Larger GUI window $hGui = GUICreate( "Tools", 500, 400 ) $idGuiNearEdge = GUICtrlCreateDummy() GUIRegisterMsg( $WM_WINDOWPOSCHANGED, "WM_WINDOWPOSCHANGED" ) GUISetState( @SW_SHOW, $hGui ) Local $iPos, $tPoint = DllStructCreate( $tagPOINT ), $hWin While 1 Switch GUIGetMsg() Case $idGuiNearEdge ; GUI window detected near a desktop edge $iPos = GUICtrlRead( $idGuiNearEdge ) GUIRegisterMsg( $WM_WINDOWPOSCHANGED, "" ) While Sleep( 10 ) ; Loop until the mouse hovers over one of the small edge windows on the desktop DllStructSetData( $tPoint, "x", MouseGetPos( 0 ) ) DllStructSetData( $tPoint, "y", MouseGetPos( 1 ) ) $hWin = _WinAPI_WindowFromPoint( $tPoint ) If $hWin = $hTopLbl Or $hWin = $hLeftLbl Or $hWin = $hRightLbl Or $hWin = $hBottomLbl Then ExitLoop WEnd ; Mouse hovers over an edge window Switch $iPos Case 1 ; Left GUISetState( @SW_HIDE, $hLeft ) WinMove( $hGui, "", 25, Default ) Case 2 ; Top GUISetState( @SW_HIDE, $hTop ) WinMove( $hGui, "", Default, 25 ) Case 3 ; Right GUISetState( @SW_HIDE, $hRight ) WinMove( $hGui, "", @DesktopWidth-25-WinGetPos( $hGui )[2], Default ) Case 4 ; Bottom GUISetState( @SW_HIDE, $hBottom ) WinMove( $hGui, "", Default, @DesktopHeight-25-WinGetPos( $hGui )[3] ) EndSwitch GUIRegisterMsg( $WM_WINDOWPOSCHANGED, "WM_WINDOWPOSCHANGED" ) GUISetState( @SW_SHOW, $hGui ) $bGuiNearEdge = False Case $GUI_EVENT_CLOSE ExitLoop EndSwitch WEnd GUIDelete( $hGui ) EndFunc ; Observe the position of the GUI window Func WM_WINDOWPOSCHANGED( $hWnd, $iMsg, $wParam, $lParam ) Local $tWindowPos = DllStructCreate( "hwnd hWnd;hwnd InsertAfter;int X;int Y;int CX;int CY;int Flags", $lParam ) Switch True Case DllStructGetData( $tWindowPos, "X" ) < 24 ; GUI window close to left desktop edge If Not $bGuiNearEdge Then GUICtrlSendToDummy( $idGuiNearEdge, 1 ) GUISetState( @SW_HIDE, $hGui ) WinMove( $hLeft, "", Default, DllStructGetData( $tWindowPos, "Y" ) + DllStructGetData( $tWindowPos, "CY" ) / 2 ) GUISetState( @SW_SHOW, $hLeft ) $bGuiNearEdge = True EndIf Case DllStructGetData( $tWindowPos, "Y" ) < 24 ; GUI window close to top desktop edge If Not $bGuiNearEdge Then GUICtrlSendToDummy( $idGuiNearEdge, 2 ) GUISetState( @SW_HIDE, $hGui ) WinMove( $hTop, "", DllStructGetData( $tWindowPos, "X" ) + DllStructGetData( $tWindowPos, "CX" ) / 2, Default ) GUISetState( @SW_SHOW, $hTop ) $bGuiNearEdge = True EndIf Case DllStructGetData( $tWindowPos, "X" ) + DllStructGetData( $tWindowPos, "CX" ) > @DesktopWidth-24 ; GUI window close to right desktop edge If Not $bGuiNearEdge Then GUICtrlSendToDummy( $idGuiNearEdge, 3 ) GUISetState( @SW_HIDE, $hGui ) WinMove( $hRight, "", Default, DllStructGetData( $tWindowPos, "Y" ) + DllStructGetData( $tWindowPos, "CY" ) / 2 ) GUISetState( @SW_SHOW, $hRight ) $bGuiNearEdge = True EndIf Case DllStructGetData( $tWindowPos, "Y" ) + DllStructGetData( $tWindowPos, "CY" ) > @DesktopHeight-24 ; GUI window close to bottom desktop edge If Not $bGuiNearEdge Then GUICtrlSendToDummy( $idGuiNearEdge, 4 ) GUISetState( @SW_HIDE, $hGui ) WinMove( $hBottom, "", DllStructGetData( $tWindowPos, "X" ) + DllStructGetData( $tWindowPos, "CX" ) / 2, Default ) GUISetState( @SW_SHOW, $hBottom ) $bGuiNearEdge = True EndIf EndSwitch #forceref $hWnd, $iMsg, $wParam EndFunc Points 3 and 4 are not coded. It shouldn't be that hard. Edited December 29, 2019 by LarsJ Controls, File Explorer, ROT objects, UI Automation, Windows Message MonitorCompiled code: Accessing AutoIt variables, DotNet.au3 UDF, Using C# and VB codeShell menus: The Context menu, The Favorites menu. Shell related: Control Panel, System Image ListsGraphics related: Rubik's Cube, OpenGL without external libraries, Navigating in an image, Non-rectangular selectionsListView controls: Colors and fonts, Multi-line header, Multi-line items, Checkboxes and icons, Incremental searchListView controls: Virtual ListViews, Editing cells, Data display functions Link to comment Share on other sites More sharing options...
Letraindusoir Posted December 31, 2019 Author Share Posted December 31, 2019 On 12/30/2019 at 6:43 AM, LarsJ said: Try this code: expandcollapse popup#AutoIt3Wrapper_Au3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6 #AutoIt3Wrapper_UseX64=y Opt( "MustDeclareVars", 1 ) #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <StaticConstants.au3> #include <WinAPIGdi.au3> Global $hGui, $hLeft, $hTop, $hRight, $hBottom, $idGuiNearEdge, $bGuiNearEdge = False Example() Func Example() ; Small window along the left desktop edge $hLeft = GUICreate( "", 24, 50, 0, -1, $WS_POPUP, $WS_EX_TOPMOST ) Local $hLeftLbl = GUICtrlGetHandle( GUICtrlCreateLabel( "4", 0, 0, 24, 50, $SS_CENTER+$SS_CENTERIMAGE ) ) GUICtrlSetFont( -1, 16, 400, 0, "Webdings" ) Local $aLeftRgn[4][2] = [ [0, 0], [24, 10], [24, 40], [0, 50] ] Local $hRgn = _WinAPI_CreatePolygonRgn( $aLeftRgn ) _WinAPI_SetWindowRgn( $hLeft, $hRgn, 0 ) ; Small window along the top desktop edge $hTop = GUICreate( "", 50, 24, -1, 0, $WS_POPUP, $WS_EX_TOPMOST ) Local $hTopLbl = GUICtrlGetHandle( GUICtrlCreateLabel( "6", 0, 0, 50, 24, $SS_CENTER+$SS_CENTERIMAGE ) ) GUICtrlSetFont( -1, 16, 400, 0, "Webdings" ) Local $aTopRgn[4][2] = [ [0, 0], [50, 0], [40, 24], [10, 24] ] $hRgn = _WinAPI_CreatePolygonRgn( $aTopRgn ) _WinAPI_SetWindowRgn( $hTop, $hRgn, 0 ) ; Small window along the right desktop edge $hRight = GUICreate( "", 24, 50, @DesktopWidth-24, -1, $WS_POPUP, $WS_EX_TOPMOST ) Local $hRightLbl = GUICtrlGetHandle( GUICtrlCreateLabel( "3", 0, 0, 24, 50, $SS_CENTER+$SS_CENTERIMAGE ) ) GUICtrlSetFont( -1, 16, 400, 0, "Webdings" ) Local $aRightRgn[4][2] = [ [0, 10], [24, 0], [24, 50], [0, 40] ] $hRgn = _WinAPI_CreatePolygonRgn( $aRightRgn ) _WinAPI_SetWindowRgn( $hRight, $hRgn, 0 ) ; Small window along the bottom desktop edge $hBottom = GUICreate( "", 50, 24, -1, @DesktopHeight-24, $WS_POPUP, $WS_EX_TOPMOST ) Local $hBottomLbl = GUICtrlGetHandle( GUICtrlCreateLabel( "5", 0, 0, 50, 24, $SS_CENTER+$SS_CENTERIMAGE ) ) GUICtrlSetFont( -1, 16, 400, 0, "Webdings" ) Local $aBottomRgn[4][2] = [ [10, 0], [40, 0], [50, 24], [0, 24] ] $hRgn = _WinAPI_CreatePolygonRgn( $aBottomRgn ) _WinAPI_SetWindowRgn( $hBottom, $hRgn, 0 ) ; Larger GUI window $hGui = GUICreate( "Tools", 500, 400 ) $idGuiNearEdge = GUICtrlCreateDummy() GUIRegisterMsg( $WM_WINDOWPOSCHANGED, "WM_WINDOWPOSCHANGED" ) GUISetState( @SW_SHOW, $hGui ) Local $iPos, $tPoint = DllStructCreate( $tagPOINT ), $hWin While 1 Switch GUIGetMsg() Case $idGuiNearEdge ; GUI window detected near a desktop edge $iPos = GUICtrlRead( $idGuiNearEdge ) GUIRegisterMsg( $WM_WINDOWPOSCHANGED, "" ) While Sleep( 10 ) ; Loop until the mouse hovers over one of the small edge windows on the desktop DllStructSetData( $tPoint, "x", MouseGetPos( 0 ) ) DllStructSetData( $tPoint, "y", MouseGetPos( 1 ) ) $hWin = _WinAPI_WindowFromPoint( $tPoint ) If $hWin = $hTopLbl Or $hWin = $hLeftLbl Or $hWin = $hRightLbl Or $hWin = $hBottomLbl Then ExitLoop WEnd ; Mouse hovers over an edge window Switch $iPos Case 1 ; Left GUISetState( @SW_HIDE, $hLeft ) WinMove( $hGui, "", 25, Default ) Case 2 ; Top GUISetState( @SW_HIDE, $hTop ) WinMove( $hGui, "", Default, 25 ) Case 3 ; Right GUISetState( @SW_HIDE, $hRight ) WinMove( $hGui, "", @DesktopWidth-25-WinGetPos( $hGui )[2], Default ) Case 4 ; Bottom GUISetState( @SW_HIDE, $hBottom ) WinMove( $hGui, "", Default, @DesktopHeight-25-WinGetPos( $hGui )[3] ) EndSwitch GUIRegisterMsg( $WM_WINDOWPOSCHANGED, "WM_WINDOWPOSCHANGED" ) GUISetState( @SW_SHOW, $hGui ) $bGuiNearEdge = False Case $GUI_EVENT_CLOSE ExitLoop EndSwitch WEnd GUIDelete( $hGui ) EndFunc ; Observe the position of the GUI window Func WM_WINDOWPOSCHANGED( $hWnd, $iMsg, $wParam, $lParam ) Local $tWindowPos = DllStructCreate( "hwnd hWnd;hwnd InsertAfter;int X;int Y;int CX;int CY;int Flags", $lParam ) Switch True Case DllStructGetData( $tWindowPos, "X" ) < 24 ; GUI window close to left desktop edge If Not $bGuiNearEdge Then GUICtrlSendToDummy( $idGuiNearEdge, 1 ) GUISetState( @SW_HIDE, $hGui ) WinMove( $hLeft, "", Default, DllStructGetData( $tWindowPos, "Y" ) + DllStructGetData( $tWindowPos, "CY" ) / 2 ) GUISetState( @SW_SHOW, $hLeft ) $bGuiNearEdge = True EndIf Case DllStructGetData( $tWindowPos, "Y" ) < 24 ; GUI window close to top desktop edge If Not $bGuiNearEdge Then GUICtrlSendToDummy( $idGuiNearEdge, 2 ) GUISetState( @SW_HIDE, $hGui ) WinMove( $hTop, "", DllStructGetData( $tWindowPos, "X" ) + DllStructGetData( $tWindowPos, "CX" ) / 2, Default ) GUISetState( @SW_SHOW, $hTop ) $bGuiNearEdge = True EndIf Case DllStructGetData( $tWindowPos, "X" ) + DllStructGetData( $tWindowPos, "CX" ) > @DesktopWidth-24 ; GUI window close to right desktop edge If Not $bGuiNearEdge Then GUICtrlSendToDummy( $idGuiNearEdge, 3 ) GUISetState( @SW_HIDE, $hGui ) WinMove( $hRight, "", Default, DllStructGetData( $tWindowPos, "Y" ) + DllStructGetData( $tWindowPos, "CY" ) / 2 ) GUISetState( @SW_SHOW, $hRight ) $bGuiNearEdge = True EndIf Case DllStructGetData( $tWindowPos, "Y" ) + DllStructGetData( $tWindowPos, "CY" ) > @DesktopHeight-24 ; GUI window close to bottom desktop edge If Not $bGuiNearEdge Then GUICtrlSendToDummy( $idGuiNearEdge, 4 ) GUISetState( @SW_HIDE, $hGui ) WinMove( $hBottom, "", DllStructGetData( $tWindowPos, "X" ) + DllStructGetData( $tWindowPos, "CX" ) / 2, Default ) GUISetState( @SW_SHOW, $hBottom ) $bGuiNearEdge = True EndIf EndSwitch #forceref $hWnd, $iMsg, $wParam EndFunc Points 3 and 4 are not coded. It shouldn't be that hard. thanks Larsj for your help! Your code extends the hidden edge function, but seems to be able to run only once, not successfully repeating the contraction and expanding the Form. Link to comment Share on other sites More sharing options...
LarsJ Posted December 31, 2019 Share Posted December 31, 2019 Since I've only implemented points 1 and 2, always move the window near an edge to hide it and hover your mouse over the small edge window to show it. As you can see in the code. Tested on Windows 7/10 64 bit. Controls, File Explorer, ROT objects, UI Automation, Windows Message MonitorCompiled code: Accessing AutoIt variables, DotNet.au3 UDF, Using C# and VB codeShell menus: The Context menu, The Favorites menu. Shell related: Control Panel, System Image ListsGraphics related: Rubik's Cube, OpenGL without external libraries, Navigating in an image, Non-rectangular selectionsListView controls: Colors and fonts, Multi-line header, Multi-line items, Checkboxes and icons, Incremental searchListView controls: Virtual ListViews, Editing cells, Data display functions Link to comment Share on other sites More sharing options...
Letraindusoir Posted January 2, 2020 Author Share Posted January 2, 2020 On 12/31/2019 at 9:57 PM, LarsJ said: Since I've only implemented points 1 and 2, always move the window near an edge to hide it and hover your mouse over the small edge window to show it. As you can see in the code. Tested on Windows 7/10 64 bit. Oh, I got it:points 1 and 2,is Required to Place in circulatory-body ,then it can Hide-display repeatedly Link to comment Share on other sites More sharing options...
Letraindusoir Posted January 2, 2020 Author Share Posted January 2, 2020 When the combo-box options Expanded, the form is hidden, but the combo-box is still in the same place.As shown in the picture below: What causes this control to be out of sync with the form? 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