WinMove (GUI-Inhalt verändert sich proportional)

  • Huhu,

    ich hoffe jemand kennt eine Lösung für mein Problem...

    Also: Ich habe ein GUI ($WS_POPUP), das ich gerne mit WinMove in der Höhe ändern möchte (6. Parameter). Vorher hab ich einige Labels erstellt. Wenn ich jetzt die Größe des Fensters ändere, wird der Inhalt verschoben, ich möchte aber, dass quasi einfach der untere Teil "weggeschnitten" wird...

    Hofe jemand kann helfen :)


    Gruß Andy...


    EDIT:

    Beispiel:

    Spoiler anzeigen
    [autoit]

    #include <Inet.au3>
    #include <GUIConstants.au3>
    #include <String.au3>
    #include <Array.au3>
    #include <Constants.au3>
    #include <File.au3>
    #include <GUIConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <Misc.au3>
    #include <WindowsConstants.au3>

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

    $1 = "a"

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

    $Labels_Platz_Links = 8
    $Labels_Platz_Oben = 6
    $Labels_Platz_Unten = 3

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

    Global $Player_Label[10]

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

    $Hide_Window_2 = GUICreate("Hide", 1, 1, 1, 1)
    $GUI_2 = GUICreate("Test", 160, 14 * (10) + $Labels_Platz_Oben + $Labels_Platz_Unten, -1, -1, $WS_POPUP, -1, $Hide_Window_2)
    GUISetBkColor(0xFFFFFF)
    $GUI_2_Pos = WinGetPos($GUI_2)
    GUICtrlCreateLabel("", 0, 0, $GUI_2_Pos[2], $GUI_2_Pos[3], "", $GUI_WS_EX_PARENTDRAG)
    GUISetFont(7, 100, -1, "Tahoma")
    For $i = 1 to 10 Step + 1
    $Player_Label[$i - 1] = GUICtrlCreateLabel($i & ". Zeile ..........", $Labels_Platz_Links, 14 * ($i - 1) + $Labels_Platz_Oben)
    GUICtrlSetColor(-1, 0x000000)
    Next

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

    GUICtrlCreateLabel("", 0, 0, $GUI_2_Pos[2], 1)
    GUICtrlSetBkColor(-1, 0x000000)
    ;GUICtrlCreateLabel("", 0, $GUI_2_Pos[3] - 1, $GUI_2_Pos[2], 1)
    ;GUICtrlSetBkColor(-1, 0x000000)

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

    WinSetTrans($GUI_2, "", 0)

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

    GUISetState(@SW_SHOW, $GUI_2)

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

    WinSetTrans($GUI_2, "", 200)

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

    $Timer_Aktualisierungslabel = TimerInit()

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

    While 1
    Sleep(500)
    If $1 = "a" Then
    WinMove($GUI_2, "", $GUI_2_Pos[0], $GUI_2_Pos[1], $GUI_2_Pos[2], $GUI_2_Pos[3])
    Global $1 = "b"
    Else
    WinMove($GUI_2, "", $GUI_2_Pos[0], $GUI_2_Pos[1], $GUI_2_Pos[2], $GUI_2_Pos[3] - 100)
    Global $1 = "a"
    EndIf
    WEnd

    [/autoit]

    3 Mal editiert, zuletzt von AndyTR (10. Januar 2011 um 19:35)