Eigene Funktion - Integerwert durch den angegebenen Default ersetzen

  • So, ich habe hier eine kleine eigene Funktion die aus einer von progandy entstanden ist.

    Code
    [autoit]

    #include-once
    #include <Winapi.au3>
    ;===============================================================================
    ;
    ; Function Name: _Win_SetTransEx($Title, [$Text, [$Transparency, [$NoClick]]])
    ; Description:: Makes a window transparent and/or not to recieve mouse clicks(so that you can click through)
    ; Parameter(s): $Title -> Title or hWnd of Window
    ; $Text [Optional] -> Text in Window
    ; $NoClick [Optional] -> 0(default): Window will still register mouse input; 1: Mouse input will pass; 2: The window will be clickable and intransparent again($Transparency will be ignored)
    ; Requirement(s): <WINApi.au3>
    ; Return Value(s): Success: 1, Error: 0 and @error
    ; @error Values: 1 -> Window does not exist
    ; 2 -> Error in Setting the Styles
    ; Author(s): Prog@ndy (most of code) and Fast2 (some changes)
    ;
    ;===============================================================================
    ;
    Func _WinSetTransEx($Title, $Text = "", $Transparency = 220, $NoClick = 0)
    Local $hWnd = WinGetHandle($Title, $Text)
    If @Error Then Return SetError(1, 0, 0)
    Switch $NoClick
    Case 0
    WinSetTrans($hWnd, "", $Transparency)
    If @Error Then Return SetError(2, 0, 0)
    Case 1
    _WinAPI_SetWindowLong($hWnd, $GWL_EXSTYLE, BitOR(_WinAPI_GetWindowLong($hWnd, $GWL_EXSTYLE), $WS_EX_TRANSPARENT))
    If @Error Then Return SetError(2, 0, 0)
    WinSetTrans($hWnd, "", $Transparency)
    If @Error Then Return SetError(2, 0, 0)
    Case 2;Restore
    _WinAPI_SetWindowLong($hWnd, $GWL_EXSTYLE, BitAND(_WinAPI_GetWindowLong($hWnd, $GWL_EXSTYLE), BitNOT($WS_EX_TRANSPARENT)))
    If @Error Then Return SetError(2, 0, 0)
    WinSetTrans($hWnd, "", 255)
    If @Error Then Return SetError(2, 0, 0)
    EndSwitch
    Return 1
    EndFunc

    [/autoit]


    So, beim testen ist mir aber aufgefallen das man den Parameter $Transparency nicht mit "Default" ersetzen kann. Jetzt wüsste ich gerne weshalb.

    Projekte: Keine größeren (und fertigen)
    Gegen Internetzensur:
    https://epetitionen.bundestag.de/index.php?acti…s;petition=3860
    (Zeichnungsfrist abgelaufen)
    __________________________________________________________________________________________________________________________________
    Dieser Beitrag wurde bereits 264 mal editiert, zuletzt von »Fast2« (30. Februar 2009, 12:99)

  • Auszug aus der Hilfe:

    [autoit]

    WinMove("","",default, default, 200,300) ; just resize the active window (no move)

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

    MyFunc2(Default,Default)

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

    Func MyFunc2($Param1 = Default, $Param2 = 'Two', $Param3 = Default)
    If $Param1 = Default Then $Param1 = 'One'
    If $Param3 = Default Then $Param3 = 'Three'

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

    MsgBox(0, 'Params', '1 = ' & $Param1 & @LF & _
    '2 = ' & $Param2 & @LF & _
    '3 = ' & $Param3)
    EndFunc

    [/autoit]
  • @Joe: Ich habs genau so wie in der Hilfe bei Inhalt und dort bei User Definied Functions unter User Definied Function Notes angegeben! :(:S

    Projekte: Keine größeren (und fertigen)
    Gegen Internetzensur:
    https://epetitionen.bundestag.de/index.php?acti…s;petition=3860
    (Zeichnungsfrist abgelaufen)
    __________________________________________________________________________________________________________________________________
    Dieser Beitrag wurde bereits 264 mal editiert, zuletzt von »Fast2« (30. Februar 2009, 12:99)

  • Spoiler anzeigen
    [autoit]

    Func _WinSetTransEx($Title, $Text = "", $Transparency = Default, $NoClick = Default)

    If $Transparency = Default Or $Transparency = -1 Then $Transparency = 220
    If $NoClick = Default Or $NoClick <= -1 Or $NoClick >= 3 Then $NoClick = 0

    Local $hWnd = WinGetHandle($Title, $Text)
    If @Error Then Return SetError(1, 0, 0)

    Switch $NoClick
    Case 0
    WinSetTrans($hWnd, "", $Transparency)
    If @Error Then Return SetError(2, 0, 0)
    Case 1
    _WinAPI_SetWindowLong($hWnd, $GWL_EXSTYLE, BitOR(_WinAPI_GetWindowLong($hWnd, $GWL_EXSTYLE), $WS_EX_TRANSPARENT))
    If @Error Then Return SetError(2, 0, 0)
    WinSetTrans($hWnd, "", $Transparency)
    If @Error Then Return SetError(2, 0, 0)
    Case 2;Restore
    _WinAPI_SetWindowLong($hWnd, $GWL_EXSTYLE, BitAND(_WinAPI_GetWindowLong($hWnd, $GWL_EXSTYLE), BitNOT($WS_EX_TRANSPARENT)))
    If @Error Then Return SetError(2, 0, 0)
    WinSetTrans($hWnd, "", 255)
    If @Error Then Return SetError(2, 0, 0)
    EndSwitch
    Return 1
    EndFunc

    [/autoit]


    Gruß
    Greenhorn