Was stimmt hier nicht? ListView frisst Editbox

  • Hiho,

    meinen anderen Thread habe ich gelöscht, da ich jetzt doch woanders anfangen will. vllt hängt das ja alles iwie zusammen.

    hier ist nun die grafische umsetzung meines neuen programs. leider funzt das noch nicht alles so, wie es sollte.
    ich habe ein gui mit 2 tabs. auf tab 1 ist ein listview, auf tab 2 ein editfeld.
    sieht auch beides ganz gut aus, aber klickt man jetzt in des editfeld, um was zu schreiben, tauchen auf einmal die listviewitems auf, warum?
    und wie unterbinde ich das?

    PS: es liegt eigentlich nur am listview, denn mit den buttons gibt es keine probleme. aber selbst wenn ich ein listview erstelle, ohne irgendwelche
    styles zu setzen, ist die ständig vor meinem editfeld. das fühlt sich nicht an den tab gebunden oO

    Spoiler anzeigen
    [autoit]


    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ; Includes
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

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

    #include <WINAPI.au3>
    #include <array.au3>
    #include <Process.au3>
    #include <File.au3>
    #include <GUIConstants.au3>
    #Include <GuiListView.au3>
    #include <GuiConstantsEx.au3>
    #Include <GuiEdit.au3>

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

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ; Options
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

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

    Opt("WinTitleMatchMode", 2)
    Opt("GUIOnEventMode", 1)
    Opt("OnExitFunc", "_EndScript")
    Opt("GUICloseOnESC", 0)

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

    Opt("TrayMenuMode",1)
    Opt("TrayOnEventMode",1)

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

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ; Variablen
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

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

    Global $WinList, $var2, $tInfo, $ListView1, $B_DESCENDING
    Dim $transwins, $wins, $Transparency, $i_transcolor

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

    Global $Title = "Window Management DeluxXx Edition V++"

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

    $dll = DllOpen("user32.dll")

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

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ; TrayMenü
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

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

    TraySetToolTip($Title)

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

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ; Create GUI
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

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

    #Region ### START Koda GUI section ### Form=o:\autoscripts\window management\form1.kxf

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

    $Form1_1 = GUICreate($Title, 510, 301, -1, -1, -1, BitOR($WS_EX_TOPMOST, $WS_EX_TOOLWINDOW))
    GUISetOnEvent($GUI_EVENT_CLOSE, "_EndScript")
    $MenuItem1 = GUICtrlCreateMenu("&File")
    $MenuItem2 = GUICtrlCreateMenuItem("Show/Hide Tray" & @TAB & "[ALT Gr + M]", $MenuItem1)
    GUICtrlSetOnEvent($MenuItem2, "_ToogleTray")
    $MenuItem3 = GUICtrlCreateMenuItem("", $MenuItem1)
    $MenuItem4 = GUICtrlCreateMenuItem("Exit" & @TAB & "[ALT Gr + ESC]", $MenuItem1)
    GUICtrlSetOnEvent($MenuItem4, "_EndScript")
    $MenuItem5 = GUICtrlCreateMenu("&Explorer")
    $MenuItem6 = GUICtrlCreateMenuItem("2 Windows Vertical" & @TAB & "[F11]", $MenuItem5)
    GUICtrlSetOnEvent($MenuItem6, "_ExploreVertical")
    $MenuItem7 = GUICtrlCreateMenuItem("2 Windows Horizontal" & @TAB & "[ALT + F11]", $MenuItem5)
    GUICtrlSetOnEvent($MenuItem7, "_ExploreHorizontal")
    $MenuItem8 = GUICtrlCreateMenuItem("", $MenuItem5)
    $i_State = RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced", "Hidden")
    If $i_State = 1 Then
    $MenuItem9 = GUICtrlCreateMenuItem("Show Hidden Files" & @TAB & "[ALT Gr + S]", $MenuItem5)
    GUICtrlSetOnEvent($MenuItem9, "_ToogleHiddenFiles")
    ElseIf $i_State = 2 Then
    $MenuItem10 = GUICtrlCreateMenuItem("Hide Hidden Files" & @TAB & "[ALT Gr + S]", $MenuItem5)
    GUICtrlSetOnEvent($MenuItem10, "_ToogleHiddenFiles")
    EndIf
    $MenuItem11 = GUICtrlCreateMenu("&More")
    $MenuItem12 = GUICtrlCreateMenuItem("Help" & @TAB & "[F1]", $MenuItem11)
    GUICtrlSetOnEvent($MenuItem12, "_Help")
    $PageControl1 = GUICtrlCreateTab(0, 0, 508, 280)
    ;GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
    $TabSheet1 = GUICtrlCreateTabItem("Windows")
    $ListView1 = _GUICtrlListView_Create($Form1_1, "Process|Windows|Top|Tray|Hide|TTI|Trans", 3, 23, 439, 228, BitOR($LVS_REPORT, $LVS_SINGLESEL, $LVS_SHOWSELALWAYS))
    _GUICtrlListView_SetExtendedListViewStyle($ListView1, BitOR($WS_EX_CLIENTEDGE,$LVS_EX_GRIDLINES,$LVS_EX_CHECKBOXES,$LVS_EX_HEADERDRAGDROP,$LVS_EX_FULLROWSELECT))
    _GUICtrlListView_SetColumnWidth($ListView1, 0, 80)
    _GUICtrlListView_SetColumnWidth($ListView1, 1, 170)
    _GUICtrlListView_SetColumnWidth($ListView1, 2, 35)
    _GUICtrlListView_SetColumnWidth($ListView1, 3, 35)
    _GUICtrlListView_SetColumnWidth($ListView1, 4, 35)
    _GUICtrlListView_SetColumnWidth($ListView1, 5, 35)
    _GUICtrlListView_SetColumnWidth($ListView1, 6, 50)
    $Button1 = GUICtrlCreateButton("update", 3, 253, 441, 25, 0, BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
    GUICtrlSetOnEvent($Button1, "_UpdateListView")
    $Button2 = GUICtrlCreateButton("Top", 448, 58, 55, 20, 0, BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
    GUICtrlSetOnEvent($Button2, "_BToogleTop")
    $Button3 = GUICtrlCreateButton("Trans", 448, 93, 55, 20, 0, BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
    $Button4 = GUICtrlCreateButton("Hide", 448, 129, 55, 20, 0, BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
    $Button5 = GUICtrlCreateButton("T T I", 448, 164, 55, 20, 0, BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
    $Button6 = GUICtrlCreateButton("Tray", 448, 199, 55, 20, 0, BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
    GUICtrlSetState($Button6, $GUI_Disable)
    $TabSheet2 = GUICtrlCreateTabItem("WRiTeR")
    $Edit1 = GUICtrlCreateEdit("", 2, 22, 503, 255)

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

    WinSetTrans($Title, "", 200)
    WinSetOnTop($Title,'',1)

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

    GUISetState(@SW_SHOW)
    ;GUISetState(@SW_MINIMIZE)

    While 1
    Sleep(100)
    WEnd

    [/autoit]
  • Versuchs mal mit der eingebauten ListView:

    Spoiler anzeigen
    [autoit]

    ...
    $TabSheet1 = GUICtrlCreateTabItem("Windows")
    $iListView = GUICtrlCreateListView("Process|Windows|Top|Tray|Hide|TTI|Trans", 3, 23, 439, 228, BitOR($LVS_REPORT, $LVS_SINGLESEL, $LVS_SHOWSELALWAYS))
    $ListView1 = GUICtrlGetHandle($iListView)
    _GUICtrlListView_SetExtendedListViewStyle($ListView1, BitOR($WS_EX_CLIENTEDGE,$LVS_EX_GRIDLINES,$LVS_EX_CHECKBOXES,$LVS_EX_HEADERDRAGDROP,$LVS_EX_FULLROWSELECT))
    _GUICtrlListView_SetColumnWidth($ListView1, 0, 80)
    ....

    [/autoit]

    Die wird dann auch richtig gebunden an den Tab.
    Und setze bitte die

    Code
    [spoiler][/spoiler]

    Tags, wenn du langen Quellcode postest