Gui | Link | gif | Position

  • [autoit]


    #include <GUIConstants.au3>
    #include <WindowsConstants.au3>
    #include <EditConstants.au3>
    #include <StaticConstants.au3>
    #include <IE.au3>
    #Include <Array.au3>
    #Include <Timers.au3>

    [/autoit][autoit][/autoit][autoit]

    #region
    $SPI_GETWORKAREA = 0x0030
    $SM_CXFRAME = 32
    $SM_CYFRAME = 33
    $SM_CYCAPTION = 4

    [/autoit][autoit][/autoit][autoit]

    $Rect = DllStructCreate("uint[4]")
    _WinAPI_SystemParametersInfo($SPI_GETWORKAREA, 0, DllStructGetPtr($Rect))

    [/autoit][autoit][/autoit][autoit]

    $Frame_H = _WinAPI_GetSystemMetrics($SM_CXFRAME)
    $Frame_W = _WinAPI_GetSystemMetrics($SM_CYFRAME)
    $WorkArea_H = DllStructGetData($Rect, 1, 4)
    $WorkArea_W = DllStructGetData($Rect, 1, 3)
    $Caption_H = _WinAPI_GetSystemMetrics($SM_CYCAPTION)
    #endregion

    [/autoit][autoit][/autoit][autoit]

    $Form1 = GUICreate("Form1", 300, 150, $WorkArea_W - 300 + 1, $WorkArea_H - 150 - $Caption_H + 1)
    GUISetState(@SW_SHOW, $Form1)

    [/autoit]
  • In der WindowsConstants.au3 wird die Konstante $SM_CXFRAME bereits erstellt.
    Die hat sowieso den Wert 32. Kannste also rauslassen ;)

    Edit:
    gleiches gilt für SM_CYFRAME = 33 und $SM_CYCAPTION = 4

  • Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <WindowsConstants.au3>
    #include <EditConstants.au3>
    #include <StaticConstants.au3>
    #include <IE.au3>
    #Include <Array.au3>
    #Include <Timers.au3>
    #Include <WinAPI.au3>

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    #region
    $SPI_GETWORKAREA = 0x0030
    ;~ $SM_CXFRAME = 32
    ;~ $SM_CYFRAME = 33
    ;~ $SM_CYCAPTION = 4

    [/autoit] [autoit][/autoit] [autoit]

    $Rect = DllStructCreate("uint[4]")
    _WinAPI_SystemParametersInfo($SPI_GETWORKAREA, 0, DllStructGetPtr($Rect))

    [/autoit] [autoit][/autoit] [autoit]

    $Frame_H = _WinAPI_GetSystemMetrics($SM_CXFRAME)
    $Frame_W = _WinAPI_GetSystemMetrics($SM_CYFRAME)
    $WorkArea_H = DllStructGetData($Rect, 1, 4)
    $WorkArea_W = DllStructGetData($Rect, 1, 3)
    $Caption_H = _WinAPI_GetSystemMetrics($SM_CYCAPTION)
    #endregion

    [/autoit] [autoit][/autoit] [autoit]

    $Form1 = GUICreate("Form1", 300, 150, $WorkArea_W - 300 + 1, $WorkArea_H - 150 - $Caption_H + 1)
    GUISetState(@SW_SHOW, $Form1)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    WEnd

    [/autoit]

    funktioniert