![]() |
Mehrer Zellen vom Stringgrid kopieren
Ich möchte in einem Stringgrid mehrere Zellen markieren (mit der Ctrl.-Taste) und dann wie bei Excel z.B. auf einmal kopieren. Gibt es da eine Möglichkeit?
|
Re: Mehrer Zellen vom Stringgrid kopieren
Klar geht das. Zuerst musst du deinem StringGrid einen message handler für WM_COPY annähen, dann musst du dir ein Format überlegen, welches du für die Zwischenablage verwenden willst. Wer soll denn die Daten aus der Zwischenablage konsumieren? Oder willst du ohne die Zwischenablage und nur innerhalb deines laufenden Programms arbeiten?
Grüße vom marabu |
Re: Mehrer Zellen vom Stringgrid kopieren
danke, marabu, dass du dich meinem thema annimst.
Ich brauche keine Zwischenablage, ich will innerhalb meiner Form (laufendem Progi) bestimmte Zellen des Grids markieren und dann nach unten kopieren. z.B. in markiere die Zellen 1,2 - 1,2 - 1,3 und will den inhalt dann in die Zellen 1,4 - 1,5 und 1,6 kopieren (auf einemal, so wie in excel) |
Re: Mehrer Zellen vom Stringgrid kopieren
Liste der Anhänge anzeigen (Anzahl: 1)
Das ist relativ einfach. Du solltest dir Tastenkürzel überlegen, die du für CUT, COPY, PASTE, DELETE verwenden willst und die nicht identisch mit den registrierten keys für die Clipboard-Funktionalität identisch sind. Ich schlage Strg+Umsch+C für COPY vor, die anderen analog. Diese Tasten kannst du dann im Ereignis OnKeyDown() behandeln.
marabu EDIT: Demo angehängt... |
Re: Mehrer Zellen vom Stringgrid kopieren
Liste der Anhänge anzeigen (Anzahl: 1)
danke zumächst mal für deine demo.
ich habe sie mir mal angeschaut, bin aber noch nicht so richtig schlau daraus geworden. ich habe nochmal genauer beschrieben, was ich eigentlich möchte, siehe Bild |
Re: Mehrer Zellen vom Stringgrid kopieren
Starte die Demo, markiere den zu kopierenden Bereich, drücke die Tastenkombination Strg+Umsch+C, markiere anschließend die obere linke Zelle des Zielbereiches und drücke die Tastenkombination Strg+Umsch+V.
marabu |
Re: Mehrer Zellen vom Stringgrid kopieren
Liste der Anhänge anzeigen (Anzahl: 1)
MARABU, das ist ja das kopieren von einzelnen Zellen, das konnte ich schon vorher mit der Maus ohne deinen Code.
Was ich aber will ist mehrer Zellen gleichzeitig markieren (wie im Excel mit der Ctrl-Taste) und dann diese markierten Zellen kopieren (in derselben Reihenfolge) habe noch mal mit Excel ein kleine Beispiel gemacht |
Re: Mehrer Zellen vom Stringgrid kopieren
Hallo,
marabus Code funktioniert schon, allerdings ist beim StringGrid im Edit-Modus das Markieren von Bereichen nur mit der Tastatur, nicht aber mit der Maus möglich. Die Optionen goEditing und goRangeSelect sind also - zumindest für die Bedienung mit der Maus - nicht kombinierbar. Gruß Hawkeye |
Re: Mehrer Zellen vom Stringgrid kopieren
ich will auch nicht unbedingt mit der maus markieren, mit der Tastatur ist das ok.
ich habe die demo von marabu probiert, kann auch einzelne zellen markieren und kopieren, schaff es aber nicht mehrere zellen auf einmal zu markieren, mit welcher tastenfolge macht man das? z.B. im Excel geht das mit dem Gedrückthalten von der Ctrl-Taste.... |
Re: Mehrer Zellen vom Stringgrid kopieren
habe es durch Zufall jetzt selbst herausgefunden, einfach die Shift-Taste gedrückt halten und mit der Pfeiltaste nach unten, vielen dank für eure hilfe
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:54 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz