GUI unsichtbar, control sichtbar

  • hallo Gemeinde, 8|
    wie bekomme ich den hellblauen Hintergrund der GUI unsichtbar?
    Ich möchte nur mein control sehen.

    Autoit v3.3.8.1

    [autoit]


    #include <GUIConstantsEx.au3> ;$GUI_
    #include <WinAPI.au3> ;_WinApi_
    #include <WindowsConstants.au3> ;$WS_
    #include <StaticConstants.au3> ;$SS_SIMPLE
    #Region - Timestamp
    ; 2011-04-30 16:23:02
    #EndRegion

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

    CreatePie(50)
    While 1
    $msg = GUIGetMsg()
    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    WEnd

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

    Func CreatePie($sum=0)
    local $HUD[10],$fond
    ;unsichtbare, im Vordergrund stehende und verschiebbare GUI
    $HUD[1] = GUICreate("HUD 1", 43, 52, 565, 90, $WS_POPUP, bitOr($WS_EX_LAYERED, $WS_EX_TOPMOST, $WS_EX_CONTROLPARENT))
    GUISetBkColor(0xABCDEF)
    _WinAPI_SetLayeredWindowAttributes($HUD[1], 0xABCDEF,255)

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

    ;erstelle Tortendiagramm
    GUICtrlCreateGraphic(20, 20, 20, 20) ;Layer
    ;Torte
    GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0x009933, 0x009933)
    GUICtrlSetGraphic(-1, $GUI_GR_PIE, 0, 0, 15, 90, -180)
    GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0xff, 0xff)
    GUICtrlSetGraphic(-1, $GUI_GR_PIE, 0, 0, 15, -90,-180)
    ;Text in der Torte
    GUICtrlCreateLabel($sum, 14, 13.5,20,20,$SS_SIMPLE)
    GUICtrlSetFont(-1, 9, 400, 0, "Britannic Bold",5)
    GUICtrlSetColor(-1,0xFFFFFF) ;white

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

    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT ); Hitergrundfarbe auf Transparent
    GUICtrlSetState(-1 ,$GUI_DISABLE); Control nicht anklickbar. Dadurch nimmt die Grafik den Klick an

    GUISetState()
    EndFunc ;==>CreatePie

    [/autoit][autoit][/autoit][autoit][/autoit]
  • Danke minx, cooles Beispiel... ^^

    aber:
    Mein Script funktionierte vor einem Jahr noch
    unter einer anderen Version von AutoIT.

    Damals war der hellblaue Hintergrund n i c h t zu sehen.

    Hat jemand eine Lösung? (max. 3Zeiler)

    Als Ansatz hier ein Beispiel mit einer Bilddatei,
    in der der unsichtbare Bereich ausradiert wurde.

    Spoiler anzeigen
    [autoit]


    #include <GuiConstants.au3>
    #include <WindowsConstants.au3>

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

    GuiCreate("Radiertes Bild", 43, 52,0,0,$WS_POPUP,$WS_EX_LAYERED)
    GUICtrlCreatePic("background_43x52.bmp",0,0,43,52)
    ; hier dann die Definition des Tortendiagrams
    GuiSetState(@SW_SHOW)

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

    While 1
    IF GuiGetMsg() = $GUI_EVENT_CLOSE Then ExitLoop
    WEnd

    [/autoit]


    Leider scheint diese Bild jetzt immer im Vordergrund zu sein und meine Definition des Diagrams verschwindet ins Nirvana .

    2 Mal editiert, zuletzt von bertizwo (4. Mai 2012 um 16:14)