Cursorflackern im TreeView-Randbereich bei Dragoverereigniss



  • Hallo

    Ich habe ein TreeView dessen Nodes sich per DragnDrop intern verschieben lassen.
    Mein Problem ist : Wenn ich mit dem DragCursor auf die TreeView-Kante komme
    fängt er an zu flackern, indem die Cursorbilder zwischen Arrow und Stundenglass
    abwechseln.
    Besonderheit:
    Es passiert nicht wenn ich schnell über die Kannte irgentwo in den Desktop hinein schiebe. Dannjedoch wieder wenn ich in den TreeView zurückschiebe.
    Ich meine das sich daran sehen läßt das es an der TreeView-Kannte passiert
    und nicht irgentwo im Formular.

    MfG Schlumpi



  • Hallo
    ich habs in einem weiteren Testformular noch weiter eingekreist.Es scheint
    in meiner DragOverbehandlung zu liegen.

    void __fastcall TTestForm::TreeView1DragOver(TObject *Sender,
          TObject *Source, int X, int Y, TDragState State, bool &Accept)
    {
    //DragOver
    
    TTreeNode * Target = TreeView1->GetNodeAt(X,Y);
    
        if (Source->ClassNameIs("TTreeView")&&
            (TreeView1->Selected->Level > 0 )&&     // L1-Knoten zu L1-Knoten
             Target->Level > 0
             ||
             (TreeView1->Selected->Level == 0 )&&  // L0-Knoten zu L0-Knoten
             (Target->Level  ==  0)
    
             )
          {
    
              Accept = true;
          }
          else {Accept = false;};
    
    }
    

    MfG Schlumpi



  • Hallo.Ich bins nochmal.

    Zeile Acht war es.

    TTreeNode * Target = TreeView1->GetNodeAt(X,Y);
    if (Target == 0)
    { Accept = false;
      return;};
    

    MfG Schlumpi


Log in to reply