Textfeld / Button etc. Transparent machen

  • Hallo,

    um etwas transparent zu machen habe ich das wie folgt probiert:

    [autoit]

    $Toolname=GUICtrlCreateLabel("3D-KundenDatenbanken-Tool.V1.02.", 110, 10, 200,-1,$WS_EX_TRANSPARENT)

    [/autoit]

    aber ich bekomme ein Fehler. Die GuiConstants sidn eingebunden #include <GUIConstants.au3>
    was mache ich da falsch ?

    dankeschön

  • ne GUI macht man mit WinSetTrans() Transparent
    aber mit Ctrls...

    Padmak

    Huii 200ster post^^

  • hmmm ich erkläre es mal genauer. Ich hab in meiner Gui ein Hintergrundbild eingebunden .... und nun sollen Textfelder und soweiter Transparent erscheinen, so das das Bild noch durchscheint.... geht das ?

  • Versteck sie doch?

    [autoit]


    GUICtrlSetState($Toolname, $GUI_HIDE)

    [/autoit]

    Padmak

    Edit:
    Achsoo
    ich dachte des bild kommt manchmal
    hmmm
    ich schau mal

  • ja der text soll halt fest an einer stelle und immer sichtbar sein ..... thx für die unterstützung

  • hab da gleich noch ne Frage.... in den GuiConstants finde ich die Variable "$WS_EX_TRANSPARENT" auch überhaupt nicht, müsste die da nicht deklariert sein ?

  • Klar findest du die da net^^

    [autoit]


    #include <WindowsConstants.au3>

    [/autoit]


    Da drin isses

    Padmak

  • Moin,

    bei statischen Fenstern kann man die Hintergrundfarbe transparent darstellen.

    In AutoIt sieht das dann so aus:
    (Hättest Du aber auch der Hilfe entnehen können !)

    [autoit]


    $Toolname=GUICtrlCreateLabel("3D-KundenDatenbanken-Tool.V1.02.", 110, 10, 200,-1,$WS_EX_TRANSPARENT)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)

    [/autoit]


    Gruß
    Greenhorn


  • geht nicht, bleibt wie es ist :

    [autoit]

    $radio_1 = GUICtrlCreateRadio("Einloggen", 10, 170, 77, 18)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)

    [/autoit]

    hmhmhmh ?(

  • Wenn Du auf den XP-Stil bei diesen Steuerelementen verzichten kannst, dann kannst Du es so hinbekommen ...

    Spoiler anzeigen
    [autoit]

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

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

    Global $OPAQUE = 0
    Global $TRANSPARENT = 1

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

    ; Dies ist der erste Streich ...
    GUIRegisterMsg ($WM_CTLCOLORSTATIC, 'WM_CTLCOLORSTATIC')

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

    $hWndMain = GUICreate ("My CheckBox Button with Transparency", 300, 200, _
    -1, -1, _
    $WS_OVERLAPPEDWINDOW)

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

    GUISetBkColor (0x00ff00)

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

    $pic = GUICtrlCreatePic (@SystemDir & '\oobe\images\wpaback.jpg', 0, 0, 300, 200)
    GUICtrlSetState (-1, $GUI_DISABLE)

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

    $btnCheckBox = GUICtrlCreateCheckbox ('Checkbox', 100, 90, 100, 20)
    ; ... und der zweite folgt sogleich. ;)
    DllCall ('UxTheme.dll', 'int', 'SetWindowTheme', 'hwnd', GUICtrlGetHandle (-1), 'wstr', ' ', 'wstr', ' ')

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

    $btnPushButton = GUICtrlCreateButton ('PushButton', 110, 150, 80, 20)

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

    GUISetState ()

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

    While True

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

    Switch GUIGetMsg ()
    Case -3
    Exit
    EndSwitch

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

    WEnd

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

    ;========================================================================================
    ; WM_CTLCOLORSTATIC ($hDC, $hCtrl)
    ;========================================================================================
    Func WM_CTLCOLORSTATIC ($hWnd, $Msg, $wParam, $lParam)

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

    Local $hDC = $wParam

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

    SetBkMode ($hDC, $TRANSPARENT)
    Return _WinAPI_GetStockObject (5) ; 5 = NULL_BRUSH/HOLLOW_BRUSH

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

    EndFunc

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

    ;========================================================================================
    ; Func SetBkMode ()
    ;========================================================================================
    Func SetBkMode ($hDC, $flag = 0)

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

    If ($flag < 0 Or $flag > 1) Then Return SetError (1)

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

    DllCall ('gdi32.dll', 'int', 'SetBkMode', _
    'hwnd', $hDC, _ ; handle to Decive Context
    'int', $flag) ; $flag: 1 = TRANSPARENT, 0 = OPAQUE

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

    EndFunc

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


    Gruß
    Greenhorn


  • @Schnail
    was denn?

    Greenhorn
    Da kommt bei mir einen Fehlermeldung

    Fehlermeldung

    C:\Dokumente und Einstellungen\Hendrik\Favoriten\Eigene Dateien\AutoIt\5.au3(8,35) : WARNING: $WM_CTLCOLORSTATIC: possibly used before declaration.
    GUIRegisterMsg ($WM_CTLCOLORSTATIC,
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Dokumente und Einstellungen\Hendrik\Favoriten\Eigene Dateien\AutoIt\5.au3(12,88) : WARNING: $WS_OVERLAPPEDWINDOW: possibly used before declaration.
    $WS_OVERLAPPEDWINDOW)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Dokumente und Einstellungen\Hendrik\Favoriten\Eigene Dateien\AutoIt\5.au3(8,35) : ERROR: $WM_CTLCOLORSTATIC: undeclared global variable.
    GUIRegisterMsg ($WM_CTLCOLORSTATIC,
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Dokumente und Einstellungen\Hendrik\Favoriten\Eigene Dateien\AutoIt\5.au3 - 1 error(s), 2 warning(s)

    mfg. Jam00