Pop-Up GUI Verschieben

  • hallo

    Ich hab ein problem
    und zwar möchte ich ein Pop-Up Fenster verschieben und weiß nicht wie ich das machen kann

    Code:

    [autoit]

    $Form1 = GUICreate("Binary Clock", 186, 62, 0, 0,$WS_POPUPWINDOW, $WS_EX_TOPMOST)
    $Input1 = GUICtrlCreateInput($sHour, 8, 8, 73, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Input2 = GUICtrlCreateInput($sMin, 104, 8, 73, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Input3 = GUICtrlCreateInput(":", 88, 8, 9, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Input4 = GUICtrlCreateInput($sSec, 8, 32, 73, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUISetState(@SW_SHOW)

    [/autoit]

    Einmal editiert, zuletzt von Eizi (17. Juli 2010 um 21:20)

  • Sorry, unklar ausgedrückt

    Ich mein ja das ICH das Fenster verschieben will und nicht das das Program das Fenster verschiebt
    Also wenn das Programm läuft und das Fenster geöffnet ist dass ich mit der Maus draufklicke und sich dann das Fenster mitbewegt

  • Hi,

    wurde hier schon zigfach erfragt und die Hilfe sagt auch eindeutiges dazu !

    Aber ich will mal nicht so sein ...

    Spoiler anzeigen
    [autoit]

    #Include <WindowsConstants.au3>
    #include <GUIConstants.au3>

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

    Global $IDC_EXIT, $MainGUI

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

    $Width = 306
    $MainGUI = GUICreate("timer", _
    $Width, 236, @DesktopWidth - $Width, 0, _
    $WS_POPUP, $WS_EX_CONTROLPARENT )

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

    $IDC_EXIT = GUICtrlCreateButton("exit", 130, 200, 60, 25)

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

    GUICtrlSetState ($IDC_EXIT, $GUI_ONTOP)

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

    GUISetState(@SW_SHOW)

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

    While TRUE
    Switch GUIGetMsg()
    Case $IDC_EXIT
    ExitLoop
    EndSwitch
    WEnd

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


    Gruß
    Greenhorn


  • herzlich willkommen im Forum. Du benötigst dazu den werweiterten Stil $WS_EX_CONTROLPARENT bei der Guierstellung. Also so:

    Spoiler anzeigen
    [autoit]

    ; *** Start added by AutoIt3Wrapper ***
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    ; *** End added by AutoIt3Wrapper ***
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_UseUpx=n
    #AutoIt3Wrapper_Add_Constants=n
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    $sHour = 12
    $sMin =11
    $sSec =45
    $Form1 = GUICreate("Binary Clock", 186, 62, 0, 0,$WS_POPUPWINDOW, BitOR($WS_EX_TOPMOST,$WS_EX_CONTROLPARENT))
    $Input1 = GUICtrlCreateInput($sHour, 8, 8, 73, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Input2 = GUICtrlCreateInput($sMin, 104, 8, 73, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Input3 = GUICtrlCreateInput(":", 88, 8, 9, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Input4 = GUICtrlCreateInput($sSec, 8, 32, 73, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUISetState(@SW_SHOW)

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

    while GuiGetMsg() <> -3

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

    wend

    [/autoit]

    mfg (Auto)Bert

  • Danke hab das Problem schon gelöst
    Aber werds mir merken ;)

    Übrigens, es ist eine Uhr, die die Binäre Zeit anzeigt
    hab jetzt einen TrayTip gemacht

    ich post mal den Code:

    Spoiler anzeigen
    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=clock.ico
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

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

    Opt("TrayOnEventMode", 1)

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

    TraySetOnEvent(-11, "_Time")

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

    While Sleep(500)
    WEnd

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

    Func _Time()
    TrayTip("Time:", _Binary(@HOUR) & @CRLF & _Binary(@MIN) & @CRLF & _Binary(@SEC), 0.1)
    Sleep(100)
    EndFunc

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

    Func _Binary($iDecTemp, $bCount = False)
    Local $aPoss[9] = [256, 128, 64, 32, 16, 8, 4, 2, 1]
    Local $aBin[9] = [0, 0, 0, 0, 0, 0, 0, 0, 0]
    Local $iBin

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

    If $iDecTemp > 511 Then Return -1
    If $iDecTemp < 0 Then Return $iDecTemp

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

    For $i = 0 To UBound($aBin) - 1
    If $iDecTemp >= $aPoss[$i] Then
    $aBin[$i] = 1
    $iDecTemp -= $aPoss[$i]
    EndIf
    Next

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

    For $i = 0 To UBound($aBin) - 1
    $iBin &= $aBin[$i]
    Next

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

    If $bCount = True And StringLeft($iBin, 1) = "0" Then
    Do
    $iBin = StringTrimLeft($iBin, 1)
    Until StringLeft($iBin, 1) == "1"
    EndIf
    Return StringTrimLeft($iBin, 3)
    EndFunc ;==>_Binary

    [/autoit]

    _Binary ist übrigens von mir habs nach einem einfachen system gemacht
    falls wer eine (fürs Programmieren) besser geeignete umwandlung kennt bitte bescheid geben