Jump to content

Recommended Posts

Posted (edited)

As today I saw a @binbinhfr question here:

 

I decide to post here this 2 following examples, which shows how to use GUICoordMode=2 + GUISetCoord()

 

Simple example:

#include <GUIConstantsEx.au3>

Example()

Func Example()
    Opt("GUICoordMode", 2) ; relative to cell mode

    GUICreate("My GUI Set Coord", 500, 200)

    GUISetCoord(20, 50) ; move the current anchor position to a precise point (20,50)
    GUICtrlCreateLabel("TESTING1", 0, 0, 75, 20) ; no previous control
    GUISetCoord(0, 0) ; move the current anchor position to a precise point (0,0)
    GUICtrlCreateLabel("TESTING2", -75, 0, 75, 20)  ; takes account of previous control - relative to Right,Bottom corner of previously created GUICtrl*****()
    GUISetCoord(0, 0) ; move the current anchor position to a precise point (0,0)
    GUICtrlCreateLabel("TESTING3", -1, -1, 75, 20)  ; does not take account of previous control (because used -1,-1 as left,Top parameters)

    GUISetState()

    While 1
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE
                ExitLoop
        EndSwitch
    WEnd
EndFunc   ;==>Example


More complex/complicated/advance example:

#include <ColorConstants.au3>
#include <FontConstants.au3>
#include <GUIConstantsEx.au3>

Example()

Func Example()
    GUICreate("My GUI Set Coord", 500, 500)
    Opt("GUICoordMode", 1) ; (default) absolute coordinates still relative to the dialog box.

    #Region - draw background
    Local $iCorner = 10
    GUICtrlCreateLabel("0", 100 - $iCorner, 100 - $iCorner, 100 + $iCorner * 2, 100 + $iCorner * 2)
    GUICtrlSetBkColor(-1, $COLOR_BLACK)
    GUICtrlSetFont(-1, 20, $FW_BOLD)
    #EndRegion - draw background

    Opt("GUICoordMode", 2) ; relative to cell mode

    #Region - MOVE ANCHOR + RESETING OFFSET
    GUISetCoord(0, 0) ; move the current anchor position to a precise point (0,0)
    GUICtrlCreateLabel("", -1, -1, 0, 0) ; reseting offset
    GUICtrlSetBkColor(-1, $COLOR_BLACK)
    #EndRegion - MOVE ANCHOR + RESETING OFFSET

    GUICtrlCreateLabel("1", 100, 100, 100, 100) ; anchor 0,0 moved 100,100   offset = 100,100    Right,Bottom corner = 0+100+100,0+100+100
    GUICtrlSetBkColor(-1, $COLOR_AQUA)
    GUICtrlSetFont(-1, 20, $FW_BOLD)

    GUICtrlCreateLabel("2", 0, -100, 100, 100) ; anchor 200,200 moved 0,-100   offset = 100,100    Right,Bottom corner = 200+0+100,200-100+100
    GUICtrlSetBkColor(-1, $COLOR_RED)
    GUICtrlSetFont(-1, 20, $FW_BOLD)

    GUICtrlCreateLabel("3", -200, 0, 100, 100) ; anchor 300,200 moved -200,0   offset = 100,100    Right,Bottom corner = 300-200+100,200+0+100
    GUICtrlSetBkColor(-1, $COLOR_GREEN)
    GUICtrlSetFont(-1, 20, $FW_BOLD)

    GUICtrlCreateLabel("4", -200, -200, 100, 100) ; anchor 200,300 moved -200,-200   offset = 100,100    Right,Bottom corner = 200-200+100,300-200+100
    GUICtrlSetBkColor(-1, $COLOR_OLIVE)
    GUICtrlSetFont(-1, 20, $FW_BOLD)

    GUICtrlCreateLabel("5", 0, -200, 100, 100) ; anchor 100,200 moved 0,-200   offset = 100,100    Right,Bottom corner = 100+0+100,200-200+100 = 200,100
;~  GUICtrlSetBkColor(-1, $COLOR_MEDGRAY)
    GUICtrlSetBkColor(-1, $COLOR_ORANGE)
    GUICtrlSetFont(-1, 20, $FW_BOLD)

    #Region - MOVE ANCHOR
    GUISetCoord(-100, -100) ; move the current anchor position to a precise point (-100,-100) + prev offset 100,100
    GUICtrlCreateLabel("6", 25, 25, 50, 50) ; anchor 0,0 moved 25,25   offset = 50,50    Right,Bottom corner = 75,75
    GUICtrlSetBkColor(-1, $COLOR_BLUE)
    GUICtrlSetFont(-1, 20, $FW_BOLD)
    #EndRegion - MOVE ANCHOR

    GUISetState()

    While 1
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE
                ExitLoop
        EndSwitch
    WEnd
EndFunc   ;==>Example

 

btw.
I want to thanks @Danyfirex and @Nine for the feedback they gave back in September when we discussed it in the background.

Edited by mLipok

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

  Reveal hidden contents

Signature last update: 2023-04-24

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
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...