Listview Design: Transparenz möglich?

  • Hey,

    ist es möglich ein transparentes Listview zu erstellen?
    Ich habe hier ein Skript mit einem Bild als Hintergrund mit 2 Listview's und möchte eben nicht den ollen Listviewhintergrund, sondern das Bild sehen.

    Was gibts hier für Möglichkeiten?
    _GUICtrlListView_SetBkColor ($hlistview, $CLR_NONE) bringt nicht das gewünschte Ergebnis.

    Zum Probieren:
    [autoit]


    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiListView.au3>
    #include <Constants.au3>

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 700, 500,-1, -1)
    $ListView1 = GUICtrlCreateListView("", 48, 40, 521, 289, BitOR($LVS_REPORT,$LVS_NOCOLUMNHEADER,$LVS_SINGLESEL,$LVS_SHOWSELALWAYS))
    $hlistview = GUICtrlGetHandle($ListView1)
    ;_GUICtrlListView_SetBkColor ($hlistview, $CLR_NONE)
    GUICtrlCreatePic("", 0, 0, 700, 500) ;Pfad zum Bild fehlt noch
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd

    [/autoit]
  • Leider nein.
    Damit wird der HIntergrund schwarz.


    Vielleicht: Screenshot von Listviewbereich machen, als Bild abspeichern und als Hintergrund vom Listview setzen?
    Ist aber schon wieder sehr kompliziert für ein Designproblem :(

  • hm es geht sicher iwie, ich stell mich glaub ich zu blöd grade...

    hatte heute in der arbeit nen post gefunden, die habens hingebracht
    http://www.autoitscript.com/forum/index.php?showtopic=58736

    problem bei dem is, dass es mit ner älteren autoitversion war und jetz hat sichs anscheinend verändert.
    vielleicht wirst du ja schlau draus

  • Soweit ich das überblicke, überlagert bei deren Problem das Bild das Listview.
    Sowas krieg ich auch hin :D möchte allerdings die Items gerne sehen. :(
    Trotzdem danke für dein bemühen. :thumbup:

    edit \ Im DVBViewer Pro gibts sowas z.B. Bild im Anhang.

  • es gibt eine möglichkeit und ich werd sie finden, jetz will ichs nämlich wissen :D
    bin zur zeit auch mit nem projekt beschäftigt in dem ich ne listview hab, und früher oder später brauch ichs sowieso

  • Hallo nuts,

    hier eine Möglichkeit die das Problem einigermassen löst:

    Spoiler anzeigen
    [autoit]

    #cs ----------------------------------------------------------------------------

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

    AutoIt Version : 3.3.0.0
    Author : AutoBert
    Basics and Picures : unknown Author on autoitscript.com

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

    Script Function : Template AutoIt script Demonstration of transparent Gui and Background Image
    #ce ----------------------------------------------------------------------------

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

    ; Script Start - Add your code below here
    #include <GUIConstants.au3>
    #include <WindowsConstants.au3>
    #include <ProgressConstants.au3>
    #include <Constants.au3>
    #include <StaticConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <TreeViewConstants.au3>
    #include <GuiImageList.au3>
    #include <GuiTreeView.au3>
    #include <EditConstants.au3>
    #include <StaticConstants.au3>
    #include<ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GuiTreeView.au3>
    #include <GuiListView.au3>
    #include <GuiTab.au3>
    #include <TreeViewConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiStatusBar.au3>
    #include <SQLite.au3>
    #include <SQLite.dll.au3>
    #include <Misc.au3>

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

    Global $hedtSuch, $hgrpMember, $hedtMember[12], $hedtAnschrift[4] ;Eingabefelder, TABS, List- und TreeViews
    Global $hedtAnrede[2], $hedtFunktion, $hedtBei, $hbtnHP, $hedtHomePage
    Global $hlstvwDaten, $hlstvwKom ;ListViews "wichtige Daten" und "Kommunikationsmöglichkeiten"
    Global $htabMain, $htabItemNotiz ;Tabs für Notizen und Archiv
    Global $hedtBem, $htabItemArchiv, $hlstvwArchiv
    Global $htreevwMain
    Global $hsplitter1, $hsplitter2 ;evtl. fürs Resizing
    ;Global $dummy
    Global $iAdrNr ;aktuell angezeigte Adresse für Verknüpfung Master- Detail

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

    Opt("TrayMenuMode", 1)
    HotKeySet("{F6}", "hide")
    Local $hItem[6], $hImage, $hRandomImage, $hTreeView
    Local $iStyle = BitOR($TVS_EDITLABELS, $TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS, $TVS_CHECKBOXES)
    $hfrmMain = GUICreate("TRANS", 1024, 600, -1, -1, $WS_POPUP, $WS_EX_CLIENTEDGE)
    GUISetState(@SW_HIDE, $hfrmMain)
    ;$hjpgBckgrnd = GUICtrlCreatePic("bin\bg" & Random(1, 8, 1) & ".jpg", 0, 0, 1024, 600) ;change bgX.jpg with your jpeg
    $hjpgBckgrnd = GUICtrlCreatePic("bin\bg5.jpg", 0, 0, 1024, 600) ;change bgX.jpg with your jpeg
    $hpbarPercent = GUICtrlCreateProgress(0, 570, 1024, 30, $PBS_SMOOTH)
    DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", GUICtrlGetHandle(-1), "wstr", 0, "wstr", 0)
    GUICtrlSetState(-1, $GUI_DISABLE)
    ConsoleWrite("war da")
    $hfrmChild = GUICreate("GUI", 1024, 600, -1, -1, $WS_POPUP, $WS_EX_MDICHILD, $hfrmMain)
    GUISetFont(-1, 10, 800)
    WinSetTrans("GUI", "", 0)
    WinSetOnTop("GUI", "", 1)
    GUISetState(@SW_SHOW, $hfrmChild)
    $close = GUICtrlCreateIcon("bin\close.ico", -8, 1024 - 18, 5, 16, 16)
    $hlblPercent = GUICtrlCreateLabel("0", 492, 570, 60, 30)
    GUICtrlSetFont(-1, 10, 800)
    #cs
    $hTreeView = GUICtrlCreateTreeView(2, 120, 396, 268, $iStyle, $WS_EX_CLIENTEDGE)
    GUICtrlSetBkColor($hTreeView, 0xFFFFFF)
    GUICtrlSetFont(-1, 10, 800)
    $hImage = _GUIImageList_Create(16, 16, 5, 3)
    _GUIImageList_AddIcon($hImage, "shell32.dll", 110)
    _GUIImageList_AddIcon($hImage, "shell32.dll", 131)
    _GUIImageList_AddIcon($hImage, "shell32.dll", 135)
    _GUIImageList_AddIcon($hImage, "shell32.dll", 136)
    _GUIImageList_AddIcon($hImage, "shell32.dll", 137)
    _GUIImageList_AddIcon($hImage, "shell32.dll", 138)
    _GUICtrlTreeView_SetNormalImageList($hTreeView, $hImage)

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

    _GUICtrlTreeView_BeginUpdate($hTreeView)
    For $x = 0 To _GUIImageList_GetImageCount($hImage) - 1
    $hItem[$x] = _GUICtrlTreeView_Add($hTreeView, 0, StringFormat("[%02d] New Item", $x + 1), $x, $x)
    For $y = 0 To _GUIImageList_GetImageCount($hImage) - 1
    $hItem[$y] = _GUICtrlTreeView_AddChild($hTreeView, $hItem[$x], StringFormat("[%02d] Child Item", $x + 1), $x, $x)
    Next
    Next
    _GUICtrlTreeView_EndUpdate($hTreeView)
    #ce
    GUICtrlCreateLabel("&Kurzbezeichnung", 8, 87, 180, 26)
    GUICtrlSetFont(-1, 14, 800)
    GUICtrlSetOnEvent(-1, '_goToSuch')
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
    $hedtSuch = GUICtrlCreateInput("", 190, 87, 255, 26, $ES_UPPERCASE)
    GUICtrlSetFont(-1, 14, 800)
    ;GUICtrlSetState(-1, $GUI_FOCUS)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKRIGHT + $GUI_DOCKTOP)
    GUICtrlSetLimit(-1, 25) ; um die Eingabe auf 25 Zeichen zu begrenzen

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

    $hgrpMember = GUICtrlCreateGroup("gehört zu &Gruppen:", 452, 77, 342, 40) ; Gruppe MEMBER beginnen
    GUICtrlSetOnEvent(-1, '_goToMember')
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKTOP)
    For $i = 0 To 11
    $hedtMember[$i] = GUICtrlCreateInput("", 457 + $i * 28, 93, 24, 18, $ES_NUMBER)
    GUICtrlSetFont(-1, 10, 800)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKTOP)
    GUICtrlSetLimit(-1, 3) ; um die Eingabe auf 3 Zeichen zu begrenzen
    Next
    GUICtrlCreateGroup("", -99, -99, 1, 1) ; Gruppe MEMBER schliessen

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

    GUICtrlCreateGroup("&Anschrift:", 2, 115, 265, 100) ; Gruppe ANSCHRIFT beginnen
    GUICtrlSetOnEvent(-1, '_goToAdress')
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
    For $i = 0 To 3
    Select
    Case $i = 0
    $aText = "Name 1: "
    Case $i = 1
    $aText = "Name 2: "
    Case $i = 2
    $aText = "Strasse: "
    Case $i = 3
    $aText = "PLZ/Ort: "
    EndSelect
    GUICtrlCreateLabel($aText, 8, 130 + $i * 20, 70)
    GUICtrlSetFont(-1, 10, 800)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
    $hedtAnschrift[$i] = GUICtrlCreateInput("", 75, 130 + $i * 20, 190, 18)
    GUICtrlSetFont(-1, 10, 800)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
    GUICtrlSetLimit(-1, 30) ; um die Eingabe auf 30 Zeichen zu begrenzen
    Next
    GUICtrlCreateGroup("", -99, -99, 1, 1) ; Gruppe ANSCHRIFT schliessen

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

    GUICtrlCreateLabel("Funktion:", 8, 225, 70)
    GUICtrlSetFont(-1, 10, 800)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
    $hedtFunktion = GUICtrlCreateInput("", 75, 225, 190, 18)
    GUICtrlSetFont(-1, 10, 800)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
    GUICtrlSetLimit(-1, 30) ; um die Eingabe auf 30 Zeichen zu begrenzen
    GUICtrlCreateLabel("bei:", 8, 245, 70)
    GUICtrlSetFont(-1, 10, 800)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
    $hedtBei = GUICtrlCreateInput("", 75, 245, 190, 18)
    GUICtrlSetFont(-1, 10, 800)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
    GUICtrlSetLimit(-1, 30) ; um die Eingabe auf 30 Zeichen zu begrenzen

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

    GUICtrlCreateLabel("Anrede &1:", 8, 270, 70)
    GUICtrlSetFont(-1, 10, 800)
    GUICtrlSetOnEvent(-1, '_goToAnrede1')
    ;GUICtrlSetColor(-1,
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
    $hedtAnrede[0] = GUICtrlCreateInput("", 75, 270, 190, 18)
    GUICtrlSetFont(-1, 10, 800)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
    GUICtrlSetLimit(-1, 30) ; um die Eingabe auf 30 Zeichen zu begrenzen
    GUICtrlCreateLabel("Anrede &2:", 8, 290, 70)
    GUICtrlSetFont(-1, 10, 800)
    GUICtrlSetOnEvent(-1, '_goToAnrede2')
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
    $hedtAnrede[1] = GUICtrlCreateInput("", 75, 290, 190, 18)
    GUICtrlSetFont(-1, 10, 800)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
    GUICtrlSetLimit(-1, 30) ; um die Eingabe auf 30 Zeichen zu begrenzen

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

    ;GUICtrlCreateLabel("HomePage:", 8, 315)
    $hbtnHP = GUICtrlCreateButton('Home&Page', 4, 315, 70, 20, BitOR($WS_CLIPSIBLINGS, $BS_BOTTOM))
    GUICtrlSetFont(-1, 10, 800)
    GUICtrlSetOnEvent(-1, '_goToHomePage')
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
    $hedtHomePage = GUICtrlCreateInput("", 75, 315, 190, 18)
    GUICtrlSetFont(-1, 10, 800)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
    GUICtrlSetLimit(-1, 64) ; um die Eingabe auf 64 Zeichen zu begrenzen

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

    ;$hsplitter1 = GUICtrlCreateGraphic(270, 125, 4, 205, $SS_BLACKRECT)
    ;GUICtrlSetResizing(-1, $GUI_DOCKLEFT +$GUI_DOCKSIZE + $GUI_DOCKTOP)

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

    $hlstvwDaten = GUICtrlCreateListView("Ereignis | Datum | Bemerkung", 280, 120, 165, 105)
    GUICtrlSetFont(-1, 10, 800)
    GUICtrlSetResizing(-1, $GUI_DOCKHEIGHT + $GUI_DOCKLEFT + $GUI_DOCKTOP + $GUI_DOCKRIGHT)
    GUICtrlCreateListViewItem("Geburt|29.02.1992", $hlstvwDaten)
    GUICtrlCreateListViewItem("Eintritt JRK|01.01.1997", $hlstvwDaten)
    $hlstvwKom = GUICtrlCreateListView("Kom-Art |Nummer", 280, 230, 165, 105)
    GUICtrlSetFont(-1, 10, 800)
    GUICtrlSetResizing(-1, $GUI_DOCKHEIGHT + $GUI_DOCKLEFT + $GUI_DOCKTOP + $GUI_DOCKRIGHT)
    ; GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKTOP +$GUI_DOCKRIGHT)
    GUICtrlCreateListViewItem("Festnetz|08741/47118899", $hlstvwKom)
    GUICtrlCreateListViewItem("Mobil|0172/47118899", $hlstvwKom)
    GUICtrlCreateListViewItem("Firma|08841/0815", $hlstvwKom)
    GUICtrlCreateListViewItem("Eltern|08741/18899", $hlstvwKom)
    GUICtrlCreateListViewItem("EMAIL|NoReply@NoMail.please", $hlstvwKom)
    GUICtrlCreateListViewItem("EMAIL 2|Urgent@HotMail.Net", $hlstvwKom)

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

    $hsplitter2 = GUICtrlCreateGraphic(2, 338, 448, 4, $SS_BLACKRECT)
    GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKRIGHT + $GUI_DOCKTOP + $GUI_DOCKHEIGHT)

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

    $htabMain = GUICtrlCreateTab(2, 345, 450, 127)
    GUICtrlSetFont(-1, 10, 800)
    GUICtrlSetResizing(-1, $GUI_DOCKBORDERS)
    $htabItemNotiz = GUICtrlCreateTabItem("Bemerkungen")
    GUICtrlSetFont(-1, 10, 800)
    $hedtBem = GUICtrlCreateInput("Erste Zeile" & @CRLF, 2, 367, 447, 102, $ES_AUTOVSCROLL + $WS_VSCROLL + $ES_MULTILINE + $ES_WANTRETURN)
    GUICtrlSetFont(-1, 10, 800)
    GUICtrlSetResizing(-1, $GUI_DOCKBORDERS)
    $htabItemArchiv = GUICtrlCreateTabItem("Briefe EMails etc.")
    GUICtrlSetFont(-1, 10, 800)
    $hlstvwArchiv = GUICtrlCreateListView("Art |Datum |Anlass |Serienfelder", 2, 367, 447, 102)
    GUICtrlSetFont(-1, 10, 800)
    GUICtrlSetResizing(-1, $GUI_DOCKHEIGHT + $GUI_DOCKLEFT + $GUI_DOCKTOP + $GUI_DOCKRIGHT)
    ; GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKTOP +$GUI_DOCKRIGHT)
    GUICtrlCreateTabItem("")
    $htreevwMain = GUICtrlCreateTreeView(452, 120, 345, 345, $GUI_SS_DEFAULT_TREEVIEW + $TVS_CHECKBOXES, $WS_EX_CLIENTEDGE)
    GUICtrlSetFont(-1, 10, 800)
    ;GUISetOnEvent($GUI_EVENT_PRIMARYDOWN, '_CheckForChangesInTreeMain')

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

    ;GUICtrlSetResizing(-1, $GUI_DOCKBORDERS)
    GUICtrlSetResizing(-1, $GUI_DOCKRIGHT + $GUI_DOCKTOP + $GUI_DOCKBOTTOM + $GUI_DOCKWIDTH)

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

    ;------------------------MENU FILE
    $filemenu = GUICtrlCreateLabel("&Datei", 3, 4, 45, 15)
    GUICtrlSetFont(-1, 10, 800)
    $filesDummy = GUICtrlCreateDummy()
    $fileContext = GUICtrlCreateContextMenu($filesDummy)
    $fileopen = GUICtrlCreateMenuItem("&Hintergrund", $fileContext)
    GUICtrlCreateMenuItem("", $fileContext)
    $OptionsExit = GUICtrlCreateMenuItem("Be&enden", $fileContext)

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

    ;--------------------Menu EDIT
    $editmenu = GUICtrlCreateLabel("&Bearbeiten", 53, 4, 75, 15)
    GUICtrlSetFont(-1, 10, 800)
    $editDummy = GUICtrlCreateDummy()
    $editContext = GUICtrlCreateContextMenu($editDummy)
    $editcopy = GUICtrlCreateMenuItem("&Kopieren", $editDummy)
    $editpaste = GUICtrlCreateMenuItem("&Einfügen", $editDummy)

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

    ;---------------------MENU HELP
    $helpmenu = GUICtrlCreateLabel("&Hilfe", 138, 4, 45, 15)
    GUICtrlSetFont(-1, 10, 800)
    $HelpDummy = GUICtrlCreateDummy()
    $HelpContext = GUICtrlCreateContextMenu($HelpDummy)
    $HelpWWW = GUICtrlCreateMenuItem("Website", $HelpContext)
    GUICtrlCreateMenuItem("", $HelpContext)
    $HelpAbout = GUICtrlCreateMenuItem("&Hilfe", $HelpContext)
    $helpregister = GUICtrlCreateMenuItem("&Lizenz", $HelpContext)

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

    ;-------------------LINE
    $line = GUICtrlCreateGraphic(0, 24, 1024, 2)
    GUICtrlSetGraphic($line, $GUI_GR_LINE, 0, 0)
    GUICtrlSetColor(-1, 0)
    ;-----------------ICONS
    $hicoFile = GUICtrlCreateIcon("shell32.dll", -100, 0, 30, 32, 32, $SS_SUNKEN)
    GUICtrlCreateIcon("shell32.dll", -4, 32, 30, 32, 32, $SS_SUNKEN)
    GUICtrlCreateIcon("shell32.dll", -7, 64, 30, 32, 32, $SS_SUNKEN)
    $hsldrPercent = GUICtrlCreateSlider(10, 540, 158, 45)
    GUICtrlSetLimit($hsldrPercent, 100, 40)
    GUICtrlSetFont(-1, 10, 800)
    ;WinSetOnTop("TRANS","",1)
    GUISetState(@SW_SHOW, $hfrmMain)
    GUISetState(@SW_SHOW, $hfrmChild)

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

    #cs
    for $iPercent= 0 to 100
    sleep(1)
    WinSetTrans ("GUI","",$a*2.55)
    GUICtrlSetData($hpbarPercent, $iPercent)
    GUICtrlSetData($w, $a& " %")
    next
    for $iPercent= 100 to 90 Step -1
    sleep(5)
    WinSetTrans ("GUI","",$a*2.55)
    GUICtrlSetData($hpbarPercent, $iPercent)
    GUICtrlSetData($w, $a& " %")
    next
    #ce
    ;GUICtrlDelete($w) ;Prozentanzeige

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

    GUICtrlSetData($hsldrPercent, 70)
    WinSetTrans("GUI", "", GUICtrlRead($hsldrPercent) * 2.55)

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

    GUICtrlSetState($hedtSuch, $GUI_FOCUS)

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

    While 1
    Sleep(20)
    $msg = GUIGetMsg()
    If $msg = $GUI_EVENT_CLOSE Or $msg = $OptionsExit Or $msg = $close Then
    #cs
    for $iPercent= $iPercent to 100
    sleep(1)
    WinSetTrans ("GUI","",$iPercent*2.55)
    GUICtrlSetData($hpbarPercent, $iPercent)
    GUICtrlSetData($hlblPercent, $iPercent & " %")
    next
    #ce
    GUISetState(@SW_HIDE, $hfrmMain)
    Sleep(3)
    ;GUISetState(@SW_HIDE,$hfrmChild)
    GUIDelete($hfrmChild)
    GUIDelete($hfrmMain)
    ExitLoop
    EndIf
    ;If $msg = $close Then ExitLoop
    If $msg = $filemenu Or $msg = $hicoFile Then ShowMenu($hfrmChild, $msg, $fileContext)
    If $msg = $helpregister Then InputBox("License", "Type your license key", "", " ", Default, Default, Default, Default, Default, $hfrmChild)
    If $msg = $helpmenu Then ShowMenu($hfrmChild, $msg, $HelpContext)
    If $msg = $editmenu Then ShowMenu($hfrmChild, $msg, $editContext)
    If $msg = $fileopen Then
    $sjpgBckgrnd = FileOpenDialog("Select a file", @ScriptDir & "\bin", "Images (*.jpg)", 1, "", $hfrmChild)
    GUICtrlSetImage($hjpgBckgrnd, $sjpgBckgrnd)
    EndIf

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

    If $msg = $HelpAbout Then MsgBox(64, "Help", "F6 Hide/Show Gui" & @CRLF & "File/Background to change background", Default, $hfrmChild)
    $iPercent = GUICtrlRead($hsldrPercent) ; Ließt den aktuellen wert des Sliders aus.
    WinSetTrans("GUI", "", $iPercent * 2.55)
    GUICtrlSetData($hpbarPercent, $iPercent)
    GUICtrlSetData($hlblPercent, $iPercent & " %")
    WEnd
    ; -------------- func
    Func hide()
    GUISetState(@SW_HIDE, $hfrmMain)
    GUISetState(@SW_HIDE, $hfrmChild)
    HotKeySet("{F6}", "show")
    EndFunc ;==>hide

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

    Func show()
    GUISetState(@SW_SHOW, $hfrmMain)
    GUISetState(@SW_SHOW, $hfrmChild)
    HotKeySet("{F6}", "hide")
    EndFunc ;==>show

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

    ; Show a menu in a given GUI window which belongs to a given GUI ctrl
    Func ShowMenu($hWnd, $CtrlID, $nContextID)
    Local $arPos, $x, $y
    Local $hMenu = GUICtrlGetHandle($nContextID)

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

    $arPos = ControlGetPos($hWnd, "", $CtrlID)

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

    $x = $arPos[0]
    $y = $arPos[1] + $arPos[3]

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

    ClientToScreen($hWnd, $x, $y)
    TrackPopupMenu($hWnd, $hMenu, $x, $y)
    EndFunc ;==>ShowMenu

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

    ; Convert the client (GUI) coordinates to screen (desktop) coordinates
    Func ClientToScreen($hWnd, ByRef $x, ByRef $y)
    Local $stPoint = DllStructCreate("int;int")

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

    DllStructSetData($stPoint, 1, $x)
    DllStructSetData($stPoint, 2, $y)

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

    DllCall("user32.dll", "int", "ClientToScreen", "hwnd", $hWnd, "ptr", DllStructGetPtr($stPoint))

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

    $x = DllStructGetData($stPoint, 1)
    $y = DllStructGetData($stPoint, 2)
    ; release Struct not really needed as it is a local
    $stPoint = 0
    EndFunc ;==>ClientToScreen

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

    ; Show at the given coordinates (x, y) the popup menu (hMenu) which belongs to a given GUI window (hWnd)
    Func TrackPopupMenu($hWnd, $hMenu, $x, $y)
    DllCall("user32.dll", "int", "TrackPopupMenuEx", "hwnd", $hMenu, "int", 0, "int", $x, "int", $y, "hwnd", $hWnd, "ptr", 0)
    EndFunc ;==>TrackPopupMenu

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

    Func _goToSuch()
    ;If $hfrmAkt = $hfrmMain Then
    GUICtrlSetState($hedtSuch, $GUI_FOCUS)
    EndFunc ;==>_goToSuch

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

    Func _goToMember()
    ;If $hfrmAkt = $hfrmMain Then
    GUICtrlSetState($hedtMember[0], $GUI_FOCUS)
    EndFunc ;==>_goToMember

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

    Func _goToAdress()
    ;If $hfrmAkt = $hfrmMain Then
    GUICtrlSetState($hedtAnschrift[0], $GUI_FOCUS)
    EndFunc ;==>_goToAdress

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

    Func _goToAnrede1()
    ;If $hfrmAkt = $hfrmMain Then
    GUICtrlSetState($hedtAnrede[0], $GUI_FOCUS)
    EndFunc ;==>_goToAnrede1

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

    Func _goToAnrede2()
    ;If $hfrmAkt = $hfrmMain Then
    GUICtrlSetState($hedtAnrede[1], $GUI_FOCUS)
    EndFunc ;==>_goToAnrede2

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

    Func _goToHomePage()
    ;If $hfrmAkt = $hfrmMain Then
    ;GUICtrlSetState($hedtHomePage, $GUI_FOCUS)
    ;hier Funktion einbauen damit automatisch die Homepage aufgerufen wird
    EndFunc ;==>_goToHomePage

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

    Func _selectTabConf()
    ;If $hfrmAkt = $hfrmConf Then GUICtrlSetState($htabItemGruppen, $GUI_FOCUS)
    EndFunc ;==>_selectTabConf

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

    Func _goToGruppen()
    ;If $hfrmAkt = $hfrmConf Then _GUICtrlTab_SetCurFocus($htabConf, 0)
    EndFunc ;==>_goToGruppen

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

    Func _goToDaten()
    ;If $hfrmAkt = $hfrmConf Then _GUICtrlTab_SetCurFocus($htabConf, 1)
    EndFunc ;==>_goToDaten

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

    Func _goToKom()
    ;If $hfrmAkt = $hfrmConf Then _GUICtrlTab_SetCurFocus($htabConf, 2)
    EndFunc ;==>_goToKom

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

    ; ----------------------------------------

    [/autoit]

    Hintergrundbilder: autoit.de/wcf/attachment/6142/

    Bei dieser Methode, gefunden vor längerer Zeit auf AutoItScript.com (Author mir leider unbekannt), wird eine 2. Gui über die Gui die das Hintergrundbild enthält gelegt, dadurch ist es möglich alle Controls (bisher noch keine Ausnahme gefunden) transparent zu machen. Leider nicht nur den Hintergrund, sondern auch den Text (Vordergrund). Probier einfach über den Slider mal verschiedene Trasparenzen aus und entscheide ob du mit diesem Kompromiss leben kannst,

    Edit: Screenshot angehängt: autoit.de/wcf/attachment/6145/
    mfg (Auto)Bert

    Einmal editiert, zuletzt von AutoBert (22. September 2009 um 11:14)

  • Mhm ja leider wird der Vordergrund auch transparent. :(

    So funktioniert das mit dem drüberlegen einer zweiten Gui (Bild im Anhang):

    Spoiler anzeigen
    [autoit]


    #include <WindowsConstants.au3>
    #include <Constants.au3>
    #include <ListViewConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <Guilistview.au3>

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

    #NoTrayIcon

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

    Opt("TrayMenuMode",1)

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

    $1= GUICreate("TRANS GUI",700,550,-1,-1,$WS_POPUP,$WS_EX_CLIENTEDGE)
    $pic = GUICtrlCreatePic("bg1.jpg",0,0,700,550)
    GuiCtrlSetState(-1,$GUI_DISABLE)

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

    GUISetState(@SW_SHOW,$1)
    $2= GUICreate("GUI",700,550,-1,-1,$WS_POPUP,$WS_EX_MDICHILD,$1)
    WinSetTrans ("GUI","",0)
    WinSetOnTop("GUI","",1)
    GUISetState(@SW_SHOW,$2)

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

    $listView = GuiCtrlCreateListView("Sample|ListView|", 110, 110, 410, 300,BitOR($LVS_REPORT,$LVS_NOCOLUMNHEADER,$LVS_SINGLESEL,$LVS_SHOWSELALWAYS))
    $hListView = GUICtrlGetHandle($listView)
    GuiCtrlCreateListViewItem("A|One", $listView)
    GuiCtrlCreateListViewItem("B|Two", $listView)
    GuiCtrlCreateListViewItem("C|Three", $listView)

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

    for $a = 0 to 100 step 2
    sleep(1)
    WinSetTrans ("GUI","",$a*1) ; $a* xy verändert die transparenz
    next

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

    while 1
    sleep(1)
    $msg = GUIGetMsg()
    switch $msg
    case $GUI_EVENT_CLOSE
    exit

    EndSwitch
    wend

    [/autoit]


    Ist eigentlich simpel, sieht nur blöd aus.

    Einmal editiert, zuletzt von nuts (22. September 2009 um 09:31)

  • Hey,

    also mit Screenshots lässt sich schon etwas vergleichbares erreichen.

    Spoiler anzeigen
    [autoit]


    #AutoIt3Wrapper_au3check_parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
    #include <GuiConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <GuiListView.au3>
    #include <GuiImageList.au3>
    #include <Constants.au3>
    #include <ScreenCapture.au3>
    Opt('MustDeclareVars', 1)
    Opt('CaretCoordMode', 0)
    global $sFilePath = @ScriptDir & "\AutoIt.jpg"
    $Debug_LV = False ; Check ClassName being passed to ListView functions, set to True and use a handle to another control to see it work

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

    global $GUI, $hListView, $msg, $hImage, $aImage
    global $exStyles = BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_DOUBLEBUFFER)

    $GUI = GUICreate("Gui", 800, 650, -1 , -1 , $WS_popup)
    global $pic = GUICtrlCreatePic("bg1.jpg",0,0,800,650)
    GuiCtrlSetState(-1,$GUI_DISABLE)
    GUISetState()
    _ScreenCapture_CaptureWnd($sFilePath,$gui,50, 50, 600, 550 )

    ;=========================================================================================================
    $hListView = _GUICtrlListView_Create($GUI, "", 50, 50, 550, 500, $LVS_NOCOLUMNHEADER, -1, True) ; Last option Calls CoInitializeEx
    ;=========================================================================================================
    _GUICtrlListView_SetExtendedListViewStyle($hListView, $exStyles)
    _GUICtrlListView_SetBkImage($hListView, $sFilePath)
    ; Load images
    #cs
    $hImage = _GUIImageList_Create()
    _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap($hListView, 0xFF0000, 16, 16))
    _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap($hListView, 0x00FF00, 16, 16))
    _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap($hListView, 0x0000FF, 16, 16))
    _GUICtrlListView_SetImageList($hListView, $hImage, 1)
    #ce
    ; Add columns
    _GUICtrlListView_InsertColumn($hListView, 0, "Column 1", 100)
    _GUICtrlListView_InsertColumn($hListView, 1, "Column 2", 100)
    _GUICtrlListView_InsertColumn($hListView, 2, "Column 3", 100)

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

    ; Add items
    _GUICtrlListView_AddItem($hListView, "Row 1: Col 1", 0)
    _GUICtrlListView_AddSubItem($hListView, 0, "Row 1: Col 2", 1)
    _GUICtrlListView_AddSubItem($hListView, 0, "Row 1: Col 3", 2)
    _GUICtrlListView_AddItem($hListView, "Row 2: Col 1", 1)
    _GUICtrlListView_AddSubItem($hListView, 1, "Row 2: Col 2", 1)
    _GUICtrlListView_AddItem($hListView, "Row 3: Col 1", 2)

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

    ; Build groups
    _GUICtrlListView_EnableGroupView($hListView)
    _GUICtrlListView_InsertGroup($hListView, -1, 1, "Group 1")
    _GUICtrlListView_InsertGroup($hListView, -1, 2, "Group 2")
    _GUICtrlListView_SetItemGroupID($hListView, 0, 1)
    _GUICtrlListView_SetItemGroupID($hListView, 1, 2)
    _GUICtrlListView_SetItemGroupID($hListView, 2, 2)

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

    ;~ _GUICtrlListView_SetBkColor ($hListView, $CLR_NONE)
    ;~ _GUICtrlListView_SetTextColor ($hListView, $CLR_NONE)
    ;~ _GUICtrlListView_SetTextBkColor ($hListView, $CLR_NONE)

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

    ; Get the Image
    ;global $sURL = "http://www.autoitscript.com/autoit3/files/graphics/autoit9_wall_grey_800x600.jpg"

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

    ;InetGet($sURL, $sFilePath)

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

    ; Set the Background Image
    ;_ScreenCapture_CaptureWnd($sFilePath, $gui)
    ;_GUICtrlListView_SetBkImage($hListView, $sFilePath)

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

    HotKeySet("{SPACE}", "test")
    GUISetState()

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


    while 1
    $msg= GUIGetMsg()

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

    switch $msg
    case $GUI_EVENT_CLOSE
    DllCall('ole32.dll', 'long', 'CoUinitialize')
    GUIDelete()
    FileDelete($sFilePath)
    exit
    case $GUI_EVENT_MINIMIZE
    GuiCtrlSetState($pic,$GUI_DISABLE)
    GUISetState(@SW_MINIMIZE, $gui)
    endswitch

    wend

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

    Func test()
    GuiCtrlSetState($pic,$GUI_DISABLE)

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