StringGrid - Fokus auf Zelle bei rechter Maustaste



  • Hi Leute,
    ich hab noch ein kleines StringGrid Problem. Wenn ich mit der linken Maustaste auf eine Zelle klicke dann ist sie "Fokusiert". Nun hab ich dem StringGrid ein PopUpMenü zugewiesen. Wenn ich jetzt mit der rechten Maustatste auf eine Zelle klicke kommt das PopUpMenü aber der Fokus bleibt bei der zuvor Fokusierten Zelle. Wenn ich nun eine Aktion ausführe bezieht sich das auf die Fokusierte und nicht auf die aktuell rechts geklickte Zelle.
    Wie bekomme ich nun den Fokus auf die Zelle bei einem Rechtsklick?

    MfG und nochmal danke
    Basti



  • Hallo B@sti,

    Such mal in der Hilfe nach TStringGrid::MouseToCell
    und dann schau dir mal das Ereignis OnContextPopup
    des Grids an, da werden die Mauskoordinaten mit übergeben.

    Jetzt brauchst du nur noch mit TCustomGrid::Selection
    die Zelle selektieren.

    mfg
    VergissEs



  • Danke schön :p
    hat funktioniert. Sieht jetzt so aus

    void __fastcall TForm1::StringGrid2ContextPopup(TObject *Sender,
          TPoint &MousePos, bool &Handled)
    {
      int col,row;
      StringGrid2->MouseToCell(MousePos.x,MousePos.y,col,row);
    
      TGridRect myRect;
      myRect.Left = col;
      myRect.Top = row;
      myRect.Right = col;
      myRect.Bottom = row;
    
      StringGrid2->Selection = myRect;
    }
    

    MfG
    Basti

    [ Dieser Beitrag wurde am 28.03.2003 um 17:01 Uhr von B@sti editiert. ]


Anmelden zum Antworten