Lange nicht mehr aktiv transparenz mittlerweile möglich ?

  • Du kannst das ganze mit GDI+ machen, ich häng dir in ein paar Min, ein Beispiel an, wenn ich meine Festplatte wiederhabe. ;)

    Tja, da ich sie vor morgen nicht wiederbekommen werde hier ein Beispiel im Forum: https://autoit.de/index.php?page=Thread&threadID=18810

    Zitat

    [Heute, 11:39] Raupi: Soll ich es dir machen?
    [Heute, 11:47] BugFix: "Soll ich es dir machen? " - also Raupi !! bitte nicht so öffentlich :rofl:

    Zitat

    [Heute, 11:51] BugFix: und ich werde es mir jetzt machen - das Mittagessen :P

    AMsg UDF v1.00.00 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 100%
    OwnStyle UDF Version 1.10.00 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 100%

    Einmal editiert, zuletzt von H2112 (30. März 2010 um 22:03)

  • [autoit]

    _WinAPI_CreateRoundRectRgn()

    [/autoit]

    schau mal in der Hilfe dazu nach...

  • Hallo Eistee,

    hier ein Beispiel von Oscar

    Spoiler anzeigen
    [autoit]

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

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

    Opt('MustDeclareVars', 1)
    Opt('GUIOnEventMode', 1)

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

    GUICreate('test', 640, 480, -1, -1, $WS_POPUP, BitOr($WS_EX_TOOLWINDOW, $WS_EX_LAYERED))
    GUISetOnEvent($GUI_EVENT_PRIMARYDOWN, '_MoveWindow') ; zum bewegen des Fensters
    GUISetOnEvent($GUI_EVENT_CLOSE,'_End')

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

    GUICtrlCreatePic(@ScriptDir & '\transparent_backgr.gif', 0, 0, 640, 480) ; Hintergrundgrafik (alles transparente muss weiss sein)
    GUICtrlSetState(-1, $GUI_DISABLE) ; damit die GUI-Elemente funktionieren

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

    Global $btn0 = GUICtrlCreateButton('X', 450, 80, 25, 25)
    GUICtrlSetOnEvent(-1, '_End')
    Global $btn1 = GUICtrlCreateButton('Ein Button', 150, 150, 100, 30)
    Global $btn2 = GUICtrlCreateButton('Noch ein Button', 350, 150, 100, 30)
    GUICtrlCreateLabel('', 250, 200, 100, 50) ; Ein "Loch" in der GUI
    GUICtrlSetBKColor(-1, 0xffffff) ; alles was die Farbe weiß hat, ist transparent
    Global $inp = GUICtrlCreateInput('', 150, 300, 310, 20)
    GUICtrlSetBKColor(-1, 0xfefefe) ; nicht ganz weiß, deshalb nicht transparent

    GUICtrlCreatePic(@ScriptDir & '\transparent.gif', 0, 0, 1, 1) ; ein weißes 1x1 Pixel-GIF das für die Transparenz benötigt wird (nicht löschen)

    GUISetState()

    While 1
    Sleep(50)
    WEnd

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

    Func _MoveWindow()
    Local $DifX, $DifY, $MouseData = GUIGetCursorInfo(@GUI_WinHandle)
    Local $WinPos = WinGetPos(@GUI_WinHandle)
    Local $MPos = MouseGetPos()
    $DifX = $MPos[0] - $WinPos[0]
    $DifY = $MPos[1] - $WinPos[1]
    Do
    Sleep(15)
    $MPos = MouseGetPos()
    $MouseData = GUIGetCursorInfo(@GUI_WinHandle)
    Until ($WinPos[0] <> ($MPos[0] - $DifX)) Or ($WinPos[1] <> ($MPos[1] - $DifY)) Or (Not $MouseData[2])
    While $MouseData[2]
    $MPos = MouseGetPos()
    $WinPos = WinGetPos(@GUI_WinHandle)
    If ($WinPos[0] <> ($MPos[0] - $DifX)) Or ($WinPos[1] <> ($MPos[1] - $DifY)) Then
    WinMove(@GUI_WinHandle, '', $MPos[0] - $DifX, $MPos[1] - $DifY)
    EndIf
    Sleep(15)
    $MouseData = GUIGetCursorInfo(@GUI_WinHandle)
    WEnd
    EndFunc

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

    Func _End()
    Exit
    EndFunc

    [/autoit]

    ich habe mir das vor langer Zeit herntergeladen.

    oder schau dir [ gelöst ] Nicht sichtbare GUI an

    mfg (Auto)Bert

    Einmal editiert, zuletzt von AutoBert (30. März 2010 um 23:29)

  • Hallo autobert

    Methode 1 hatte ich schon ist nicht sehr genau

    methode 2 verstehe ich leider nicht
    und an Andy

    Hier hatte ich methode 1 auch schon jedoch hatten die runden ecken immer so nervige treppchen drinnen was nicht gerade mein ziel ist

    und methode 2 ist hier auch sehr unverständlich ich möchte eigentlich nur ein .png bild als hintergrund verwenden und den rest der gui transparent machen
    so das ich jegliche controls wie buttons und so weiter problemfrei verwenden kann

    MFG

  • Hallo eistee,

    ich habe das Beispiel von Raupi in [ gelöst ] Nicht sichtbare GUI etwas umgebaut:

    Spoiler anzeigen
    [autoit]

    #include <GDIPlus.au3>
    #include <WindowsConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>

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

    Global $hGUI, $pic, $path = @ScriptDir & "\ball.gif"

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

    $x = x()
    $y = y()

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

    $hGUI = GUICreate("fk", $x, $y, (@DesktopWidth / 2) - 132, (@DesktopHeight / 2) - 132)
    $pic = GUICreate("", $x, $y, 1, 1, $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_MDICHILD), $hGUI)
    $picture= GUICtrlCreatePic($path, 0, 0, $x, $y,$SS_RIGHT)
    $idlbl = GUICtrlCreateLabel("Hallo ich bin ein Label",145,135)
    $idbtnExit = GUICtrlCreateButton("Be&enden",185,185)
    WinSetTrans($hGUI, "", 0)

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

    GUISetState(@SW_SHOW, $pic)
    ;GUISetState(@SW_DISABLE, $hGUI)
    ;WinSetOntop($pic,"",1)
    ;_WinAPI_SetWindowLong($pic,0xFFFFFFEC,BitOR(_WinAPI_GetWindowLong($pic,0xFFFFFFEC),0x00000020))

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

    While 1

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

    HotKeySet("^!x", "MeinExit")

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

    $msg2 = GUIGetMsg()

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

    Switch $msg2
    Case $gui_event_close, $idbtnExit
    Exit
    EndSwitch
    WEnd

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

    Func x()
    _GDIPlus_Startup()
    $hImage = _GDIPlus_ImageLoadFromFile($path)
    $x = _GDIPlus_ImageGetWidth($hImage)
    _GDIPlus_ImageDispose($hImage)
    _GDIPlus_Shutdown()
    Return $x
    EndFunc ;==>x

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

    Func y()
    _GDIPlus_Startup()
    $hImage = _GDIPlus_ImageLoadFromFile($path)
    $y = _GDIPlus_ImageGetHeight($hImage)
    _GDIPlus_ImageDispose($hImage)
    _GDIPlus_Shutdown()
    Return $y
    EndFunc ;==>y

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

    Func MeinExit()
    Exit
    EndFunc ;==>MeinExit

    [/autoit]

    dazu wird noch autoit.de/wcf/attachment/8526/ benötigt,

    mfg (Auto)Bert