Donald8282 Posted April 11, 2011 Posted April 11, 2011 Hello, I'm not great at putting GUI's together and I need help with this problem. When I resize the GUI window the buttons and inputs all bunch together instead of staying apart like they should. If anyone helps me out thanks a lot! -Donald Code: expandcollapse popup#include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <ButtonConstants.au3> #include <IE.au3> $E_Browser = _IECreateEmbedded() $Home = "www.Google.com" $Main = "C:\Users\Owner\Pictures\Logitech Webcam\Picture 28.jpg" $Window = GUICreate("Web Browser", 640, 580, (@DesktopWidth - 640) / 2, (@DesktopHeight - 580) / 2, $WS_OVERLAPPEDWINDOW) GUISetState() GUISetState(@SW_MAXIMIZE) $Height_Width = WinGetPos($Window) $Background = GUICtrlCreatePic($main, 0, 0, $Height_Width[2], $Height_Width[3]) GUICtrlSetState($Background, $GUI_DISABLE) $Browser = GUICtrlCreateObj($E_Browser, 10, 40, $Height_Width[2] - 40, $Height_Width[3] - 100) _IENavigate($E_Browser, $Home) $I_URL = GUICtrlCreateInput($Home, 250, 10, 200, 20) $B_Refresh = GUICtrlCreateButton("Refresh", 540, 10, 70, 20) $B_Go = GUICtrlCreateButton("Go", 460, 10, 70, 20, $BS_DEFPUSHBUTTON) $B_Forward = GUICtrlCreateButton("Forward", 170, 10, 70, 20) $B_Back = GUICtrlCreateButton ("Back", 90, 10, 70, 20) $B_Home = GUICtrlCreateButton ("Home", 10, 10, 70, 20) $B_Background = GUICtrlCreateButton ("Background", 630, 10, 70, 20) GUICtrlSetResizing($Browser, 1) GUICtrlSetResizing($Background, 1) While 1 Sleep(10) HotKeySet("{F5}", "_Refresh") $msg = GUIGetMsg() Select Case $msg = $GUI_EVENT_CLOSE Exit Case $msg = $GUI_EVENT_MAXIMIZE GUICtrlSetResizing($Browser, 1) GUICtrlSetResizing($Background, 1) Case $msg = $B_Go $URL = GUICtrlRead($I_URL) _IENavigate($E_Browser, $URL) Case $msg = $B_Home _IENavigate($E_Browser, $Home) Case $msg = $B_Refresh _IEAction($E_Browser, "Refresh") Case $msg = $B_Back _IEAction($E_Browser, "Back") Case $msg = $B_Forward _IEAction($E_Browser, "Forward") Case $msg = $B_Background $Picture = FileOpenDialog("Select a picture...", "C:\Users\Owner\Pictures\Logitech Webcam", "Images (*.jpg;*.bmp)", 1) If $Picture <> "" Then GUICtrlSetImage($Background, $picture) Else EndIf EndSelect WEnd Func _Refresh() _IEAction($E_Browser, "Refresh") EndFunc
AutoBert Posted April 11, 2011 Posted April 11, 2011 (edited) Yo must use GUICtrlSetResizing for each Control. Here's a example using GuiCtrlSetResizing: expandcollapse popup#cs ---------------------------------------------------------------------------- AutoIt Version: 3.3.6.1 Author: AutoBert: http://www.autoit.de/index.php?page=Thread&postID=164679#post164679 Skriptbeispiel für den Umgang mit _IECreateEmbedded, _IEErrorHandlerRegister, _IENavigate, _IEAction GuiCtrlCreateProgress, _IEPropertyGet #ce ---------------------------------------------------------------------------- #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <IE.au3> _IEErrorHandlerRegister() $oIE = _IECreateEmbedded() $SinkObject = ObjEvent($oIE, "IEEvent_", "DWebBrowserEvents2") ; Ereignisse den UDFs zuweisen, beginnend mit IEEvent_ GUICreate("Embedded Web control Test", 640, 600, _ (@DesktopWidth - 640) / 2, (@DesktopHeight - 580) / 2, _ $WS_OVERLAPPEDWINDOW + $WS_VISIBLE + $WS_CLIPSIBLINGS + $WS_CLIPCHILDREN) $hInput = GUICtrlCreateInput("Hier URL eingeben: ", 10, 10, 500) $hGo = GUICtrlCreateButton("&Go", 520, 10, 50) $GUIActiveX = GUICtrlCreateObj($oIE, 0, 40, 640, 480) ;$GUIActiveX = GUICtrlCreateObj($oIE, 0, 40, 683, 480) ;wenn der vertikale Skrollbalken nicht zu sehen sein soll GUICtrlSetResizing($GUIActiveX, $GUI_DOCKAUTO) $GUI_Button_Back = GUICtrlCreateButton("Back", 10, 525, 100, 22) GUICtrlSetResizing(-1, $GUI_DOCKSTATEBAR) $GUI_Button_Forward = GUICtrlCreateButton("Forward", 120, 525, 100, 22) GUICtrlSetResizing(-1, $GUI_DOCKSTATEBAR) $GUI_Button_Home = GUICtrlCreateButton("Home", 230, 525, 100, 22) GUICtrlSetResizing(-1, $GUI_DOCKSTATEBAR) $GUI_Button_Stop = GUICtrlCreateButton("Stop", 340, 525, 100, 22) GUICtrlSetResizing(-1, $GUI_DOCKSTATEBAR) $GUI_Button_Print = GUICtrlCreateButton("PRINT", 450, 525, 100, 22) GUICtrlSetResizing(-1, $GUI_DOCKSTATEBAR) $idProgress = GUICtrlCreateProgress(0, 555, 640, 18) GUICtrlSetResizing(-1, $GUI_DOCKSTATEBAR) GUISetState() ;Show GUI _IENavigate($oIE, "http://www.autoit.de/index.php?page=Thread&postID=164679#post164679") ; Waiting for user to close the window While 1 $msg = GUIGetMsg() Select Case $msg = $GUI_EVENT_CLOSE ExitLoop Case $msg = $hGo _IENavigate($oIE, GUICtrlRead($hInput)) Case $msg = $GUI_Button_Home _IENavigate($oIE, "http://www.autoitscript.com") Case $msg = $GUI_Button_Back _IEAction($oIE, "back") Case $msg = $GUI_Button_Forward _IEAction($oIE, "forward") Case $msg = $GUI_Button_Stop _IEAction($oIE, "stop") Case $msg = $GUI_Button_Print _IEAction($oIE, "print") EndSelect $surl1 = _IEPropertyGet($oIE, "locationurl") $surl2 = GUICtrlRead($hInput) ; ConsoleWrite($surl1 & " " & $surl2 & " " & GUICtrlRead($idProgress) & @CRLF) If $surl1 <> $surl2 And GUICtrlRead($idProgress) > 90 Then GUICtrlSetData($hInput, $surl1) WEnd $SinkObject = 0 ; IE Eventzuweisung aufheben $oIE.Quit ; IE beenden $oIE = 0 GUIDelete() Exit Func IEEvent_ProgressChange($Progress, $ProgressMax) $percent = Int(($Progress * 100) / $ProgressMax) If $percent >= 0 And $percent <= 100 Then GUICtrlSetData($idProgress, $percent) EndFunc ;==>IEEvent_ProgressChange mfg autoBert Edited April 11, 2011 by AutoBert
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