Einzelnen Beitrag anzeigen

TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
608 Beiträge
 
Delphi 11 Alexandria
 
#11

Re: Drag Drop ListView kurz vor Verzweifelung

  Alt 14. Mär 2007, 08:07
Ich habe noch mal geschaut, einen Ansatz wie ich es schaffen könnte in den Fenster die stehen bleibenden Markierungen
zu entfernen habe ich jetzt nur das eigentliche "entfernen" der Markierung klappt nicht.

Hier bei gehts wieder um mein Eigentliches Programm eine MDI Anwendung, aber im Grunde vergleichbar mit dem Testprojekt.
Ich durchlaufe einfach alle Fenster und suche nach einem ListView im "Virtual-Mode". Jetzt fehlt nur noch der letzte schritt.

Ich habs mit Invalidate, Refresh etc. probiert nix, die Markierung bleibt erhalten. Das einzigste was etwas gebracht hat war
kurz ltv_List.Items.Count := 0 und dann wieder auf die korrekte Anzahl zu setzten. Jedoch bekomme ich dann nicht mehr hin
einen Eintrag normal zumarkieren weil dann OnEndDrag ausgelöst wird und mir die Selektion entfernt. Und bei großen Listen
würde wohl auch der Scrollbalken hin und her springen was auch nicht so toll wäre.

Delphi-Quellcode:
  //Alle Fenster nach TListView komponenten durchsuchen
  For i := 0 To frmMain.MDIChildCount-1 Do Begin
    For z := 0 To frmMain.MDIChildren[i].ComponentCount-1 Do Begin
      If frmMain.MDIChildren[i].Components[z] Is TListView Then Begin
        With TListView(frmMain.MDIChildren[i].Components[z]) Do Begin

          If OwnerData Then Begin
            //Die richtige Selektion stehen lassen und die Artefakte entfernen...

          End;

        End;{with}
      End;{if}
    End;{for}
  End;{for}
@marabu Gute Besserung


mfg

TUX
  Mit Zitat antworten Zitat