Sign in to follow this  
Followers 0
Skitty

Re-sizable gui

7 posts in this topic

I'm trying to create a gui with an inputbox at the right side, how do I create a control that always stays in that position?

Problem is that when the script is run at a different screen resolution, the control is way off to the right and out of the screen.

I tried using @Desktopwidth / 2 + 800 but it fails when the screen is that of an acer aspire one d250 net-book but works when using a 21" monitor.

I also wanted to create a horizontal progress bar but its always in a different position with different screen resolutions.

If any one can locate a topic where this has been looked on before? or are there special functions to take care of this?


Things that I've done..

Icon Resource Editor: icon resource editor 

AutoIt Piano: a piano

AutoIt Unlocker: unlocks files when you want to delete them

Colorful tooltips: a wrapper for the tool tips UDF

Rouge GoogleBot: a full screen animation

ASciTE text editor: a text editor written in autoit

Warning: Posts by this user are subject to change or may disappear without notice.

Share this post


Link to post
Share on other sites



Have a look in the Help File for GUICtrlResizing() or some code to replicate the problem with?!


_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 04/09/2015

Share this post


Link to post
Share on other sites

#3 ·  Posted (edited)

Have a look in the Help File for GUICtrlResizing() or some code to replicate the problem with?!

that function seem's to be specific to a window with a boarder.

Sorry for not mentioning this before but the gui in question is created as so...

GUICreate("", @DesktopWidth, @DesktopHeight, 0, 0, $WS_POPUP, $WS_EX_TOPMOST)

Edited by System238

Things that I've done..

Icon Resource Editor: icon resource editor 

AutoIt Piano: a piano

AutoIt Unlocker: unlocks files when you want to delete them

Colorful tooltips: a wrapper for the tool tips UDF

Rouge GoogleBot: a full screen animation

ASciTE text editor: a text editor written in autoit

Warning: Posts by this user are subject to change or may disappear without notice.

Share this post


Link to post
Share on other sites

An inputBox always at right side, like this ?Posted Image

#include <WindowsConstants.au3>

HotKeySet ( "{ESC}", "_HotKey" )

$_Gui = GUICreate ( "", @DesktopWidth, @DesktopHeight, 0, 0, $WS_POPUP, $WS_EX_TOPMOST )
$_Width = 250
GUISetState ( )

$answer = InputBox ( "Question", "Where were you born?", "Planet Earth", "", $_Width, 50, @DesktopWidth - $_Width , 0, 0, $_Gui )

While 1
WEnd

Func _HotKey ( )
    Exit
EndFunc ;==> _HotKey ( )

AutoIt 3.3.14.2 X86 - SciTE 3.6.0WIN 8.1 X64 - Other Example Scripts

Share this post


Link to post
Share on other sites

An inputBox always at right side, like this ?Posted Image

#include <WindowsConstants.au3>

HotKeySet ( "{ESC}", "_HotKey" )

$_Gui = GUICreate ( "", @DesktopWidth, @DesktopHeight, 0, 0, $WS_POPUP, $WS_EX_TOPMOST )
$_Width = 250
GUISetState ( )

$answer = InputBox ( "Question", "Where were you born?", "Planet Earth", "", $_Width, 50, @DesktopWidth - $_Width , 0, 0, $_Gui )

While 1
WEnd

Func _HotKey ( )
    Exit
EndFunc ;==> _HotKey ( )

AW STUPID ME!!!

What I meant was a gui input control box, not that input box lol. thanks for the effort though.

1 person likes this

Things that I've done..

Icon Resource Editor: icon resource editor 

AutoIt Piano: a piano

AutoIt Unlocker: unlocks files when you want to delete them

Colorful tooltips: a wrapper for the tool tips UDF

Rouge GoogleBot: a full screen animation

ASciTE text editor: a text editor written in autoit

Warning: Posts by this user are subject to change or may disappear without notice.

Share this post


Link to post
Share on other sites

Not sure if this is the best way, but I figured you can just use a function that allows you to position controls essentially by % of screen instead of actual pixels.

The "scale()" function is pretty much it.

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

HotKeySet("{ESC}", "end")

;modify these 2 variables to test resolutions...
Global $winW = @DesktopWidth/1.5
Global $winH = @DesktopHeight/1.5

$win = GUICreate("", $winW, $winH, 0, 0, $WS_POPUP, $WS_EX_TOPMOST)
$edit1 = GUICtrlCreateInput("test", scale(800,1), scale(400,2), scale(150,1))

GUISetState(@SW_SHOW)


While True
    Sleep(250)
WEnd

Func end()
    Exit
EndFunc

Func scale($pct, $axis)
    $pct /= 1000        ;translates screen to a 1000 x 1000 area in any resolution
    If $axis = 1 Then
        Return $winW * $pct
    ElseIf $axis = 2 Then
        Return $winH * $pct
    EndIf
    Return -1
EndFunc

Share this post


Link to post
Share on other sites

#7 ·  Posted (edited)

Something like that?

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

$hGUI = GUICreate("Test", 295, 76, -1, -1,  BitOR($WS_POPUP, $WS_THICKFRAME,$WS_TABSTOP), $WS_EX_TOPMOST)
$Input = GUICtrlCreateInput("Input", 160, 8, 121, 21)
GUICtrlSetResizing(-1, $GUI_DOCKRIGHT+$GUI_DOCKTOP+$GUI_DOCKHEIGHT)
$bExit = GUICtrlCreateButton("Exit", 208, 40, 75, 25)
GUICtrlSetResizing(-1, $GUI_DOCKRIGHT+$GUI_DOCKTOP+$GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
GUISetState(@SW_SHOW)

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE, $bExit
            Exit
    EndSwitch
WEnd

Br,

UEZ

Edited by UEZ

Please don't send me any personal message and ask for support! I will not reply!

Selection of finest graphical examples at Codepen.io

The own fart smells best!
Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0