Listview per doppelcklick

  • Hallo, noch eine Frage zum vorhergehendem Script der Telefonliste.

    Ich arbeite dort mit einer Liste:
    Es ist ja quasi in der Listfunktion schon drin, daß beim Tippen direkt zu einem Treffer gesprungen wird.
    Dieser ist dann auch automatisch "selektiert"

    Aber wie bekommt man es hin, das man diesen Eintrag per DOPPELCKLICK weiterverarbeitet ?

    Gruß
    Wolke

  • Jetzt dachte ich, wenn ich mal ein Problem hab bekomme ich mal einen Tip und dann das... :(

    Ich kann ja mal Verona anrufen, die hat ja im Moment Stress mit Franjo und vielleicht findet Sie ja ein Antwort.....

    Gruß
    Wolke

  • Zitat

    Original von wolkenloser
    Jetzt dachte ich, wenn ich mal ein Problem hab bekomme ich mal einen Tip und dann das... :(

    Ich kann ja mal Verona anrufen, die hat ja im Moment Stress mit Franjo und vielleicht findet Sie ja ein Antwort.....

    Was meinst Du denn genau mit verarbeiten... eine ähnliche Frage hattest Du ja schonmal im windows-unattended-forum gestellt. Willst Du die werte direkte in einer Liste bearbeiten?

    Vielleicht hilft dier dieser link
    aus dem englischen Forum weiter 8)

  • Ich meine Wenn ich den Eintrag (zeile) doppelklicke möchte ich den Datensatz (Zeile) auslesen und meiner Funktion für Doppelklick übergeben-.

    Jetzt mache ich das so, das ich die Zeile markiere und dann auf einen Button "Bearbeiten" drücke.

    Genau das soll per doppelklick funktionieren

    Gruß
    Wolke

  • hmm, dann sollte Dir folgendes Skript helfen... ;) :

    Einmal editiert, zuletzt von jonk (12. Februar 2006 um 11:24)

  • Hi,
    Danke, das konnte ich gut in mein Script einbauen, auch wenn ich nicht ganz verstehe das in der Funktion macht ?

    Code
    > 0 And _GUICtrlListViewGetHotItem ($lvctrl) = _GUICtrlListViewGetCurSel ($lvctrl)


    Also oben mußte dann das hinzu

    Code
    Global Const $THRESHOLD = Number(RegRead("HKEY_CURRENT_USER\Control Panel\Mouse", "DoubleClickSpeed"))
    Global $TIMER = TimerInit()

    Das GUI braucht auch einen anderen Aufruf

    Code
    GUICreate("Telefonlisten",540,315, 100,200,$WS_OVERLAPPEDWINDOW + $WS_VISIBLE + $WS_CLIPSIBLINGS)


    und eine Funktion:


    Jetzt klappt es (fast) so wie ich es haben wollte.

    Ein Problem besteht allerdings noch.
    Wenn ich einen Datensat speichere oder hinzufüge wird im Array[1] eine Wert = "" hinzugefügt.
    das gibt oben immer so häßliche Leerzeilen.

    Hab ich da was übersehen, oder woher kommen die Leerzeilen ?

    Gruß
    Wolke

    Einmal editiert, zuletzt von wolkenloser (12. Februar 2006 um 19:07)

  • also mit:

    Code
    > 0 And _GUICtrlListViewGetHotItem ($lvctrl) = _GUICtrlListViewGetCurSel ($lvctrl)


    wird nur sicher gestellt, dass wirklich die richtige Zeile erfasst wird. Also sowohl aktuell markiert ist und gleichzeit durch den MouseCursor ausgewählt war als doppelt geklickt wurde.

    Zitat


    Ein Problem besteht allerdings noch.
    Wenn ich einen Datensat speichere oder hinzufüge wird im Array[1] eine Wert = "" hinzugefügt.
    das gibt oben immer so häßliche Leerzeilen.

    Die Leerzeile war schon vorher da , nur stand sie am Ende der Liste und war daher nicht weiter aufgefallen. ;)
    Du hast wahrscheinlich am Ende der csv-Datei eine Leere Zeile. Wenn Du den letzten Linebreak entfernst sollte die Leerzeile verschwinden. War jedenfalls bei mir so.

  • Hallo, jetzt klappt es fast perfekt

    ich habe noch was an der Einlesefunktion geändert, so das Leerzeilen direkt aus dem Array entfernt werden, so das diese nicht mehr auftauchen.

    Es gibt bei mir aber noch das Problem, wenn ich einen Datensatz übernommen habe kommt es immer zu einem komischen Effekt wenn mann den ersten Eintrag anklickt (ein klick reicht schon)
    Dann verdoppelt sich bei mir der letzte bearbeitete Eintrag immer wieder, und der Erste bleibt somit (mit der Maus) unerreichbar. Mit den Pfeiltasten geht es allerdings.

    ich hab schon fas den Eindruck als wenn die Doppelcklickfunktion irgendwei nicht beendet wird....


    Hier nochmal mein komplettes Script

    Gruß
    Wolke

  • Kann hier nochmal einer gucken woran es liegen kann, ich finde es einfach nicht :-((

    Code
    Es gibt bei mir aber noch das Problem, wenn ich einen Datensatz übernommen habe kommt es immer zu einem komischen Effekt wenn mann den ersten Eintrag anklickt (ein klick reicht schon)
    Dann verdoppelt sich bei mir der letzte bearbeitete Eintrag immer wieder, und der Erste bleibt somit (mit der Maus) unerreichbar. Mit den Pfeiltasten geht es allerdings.

    Gruß
    Wolke

    Einmal editiert, zuletzt von wolkenloser (14. Februar 2006 um 16:14)

  • Yippie , jetzt klappt alles.

    Das Problem lag bei

    Code
    GUICtrlDelete($Button1)
    GUICtrlDelete($Button2)

    Ich machs jetzt mit
    GUICtrlSetState($Button1, $GUI_HIDE) bzw
    GUICtrlSetState($Button1, $GUI_SHOW)

    Dann geht es :-))


    Gruß
    Wolke