Probleme das TStringGrid und das PopupMenu funktionell zu verknüpfen
-
Hallo
ich hoffe hier kennt sich jemand gut mit dem TStringGrid und dem TPopuMenu aus.
Ich möchte eine Spalte oder eine einzellne Zelle aus dem TStringGrid kopieren, indem ich auf die Spalte der Obersten Zeile oder auf die Zelle selbst mit der rechten Maustaste klicke. Hier soll dann mein PopuMenu erscheinen in dem Copy steht. Leier klppten meine bisherigen versuche nicht. Konnte allerdinges das PopuMenu mit dem StringGrid verbinden. Kann mir jemand bei diesem Problem behilflich sein?
Es wäre mega klasse, wenn mir sogar einer ein Quellcode-Beispiel hierzu posten könnte. Ich würde mich über eine Antwort riesig freuen. :xmas1:
-
Hallo
und wo genau ist dein Problem? Die aktuelle Spalte zu ermitteln?
bis bald
akari
-
Ja, genau. Irgendwie bekomme ich es nicht zusammen, die richtige Spalte und Zeile zu ermitteln. Habe den blödsin mit dynamischen Cast versucht. Wahr aber nicht hilfreich. Wenn ich die rechte Maustaste im StringGrid betätige, öffnet sich ja das Popup-Fenster. Jetzt wäre es schön den Zeilenindex und den Spaltenindex bei der Eventbahndlung von (Klicke Copy im PopupMenu) zu erhalten. Leider kann ich nciht sagen wie das so geht. Kenne mich da nicht ganz so gut aus.
-
Siehe MouseToCell (oder so ähnlich).
-
Versuchs mal hiermit
int acol, arow; TPoint globpoint = Mouse->CursorPos; // globale Mauskoordinaten holen TPoint locpoint = StringGrid->ScreenToClient(globpoint); // Koordinaten für das Stringgrid umrechnen StringGrid->MouseToCell(locpoint.x, locpoint.y, acol, arow); //Zeilen und Spaltenpositionen holen
-
Danke euch. Ich werde es mal ausprobieren. Danke schön.
