AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Mehrer Zellen vom Stringgrid kopieren

Ein Thema von tom_po · begonnen am 19. Mai 2006 · letzter Beitrag vom 23. Mai 2006
Antwort Antwort
Seite 2 von 2     12   
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#11

Re: Mehrer Zellen vom Stringgrid kopieren

  Alt 20. Mai 2006, 15:45
Hi folks,

hatte ich doch glatt die Unterstützung für die Maus vergessen. Im Anhang eine erweiterte Demo bei der auch die Selektion per Maus möglich ist.

Grüße vom marabu
Angehängte Dateien
Dateityp: zip sg-clip_213.zip (2,2 KB, 20x aufgerufen)
  Mit Zitat antworten Zitat
tom_po

Registriert seit: 5. Feb 2006
137 Beiträge
 
Delphi 7 Enterprise
 
#12

Re: Mehrer Zellen vom Stringgrid kopieren

  Alt 20. Mai 2006, 20:02
super marabu, es klappt mit der maus, musste nur noch bei stringgrid die 1 anhängen bei mir:

Delphi-Quellcode:
procedure TDemoForm.StringGridMouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  MouseDown := true;
  with StringGrid[b]1[/b] do
    MouseSelection.TopLeft := MouseCoord(X, Y);
end;

procedure TDemoForm.StringGridMouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
begin
  if MouseDown then
    with StringGrid[b]1[/b] do
    begin
      MouseSelection.BottomRight := MouseCoord(X, Y);
      Selection := MouseSelection;
    end;
end;

procedure TDemoForm.StringGridMouseUp(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  MouseDown := false;
end;
jetzt fehlt nur noch, dass man mit der rechten maustaste das copy und einfügen machen könnte.
aber das ist wohl mit delphi nicht möglich, oder??
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#13

Re: Mehrer Zellen vom Stringgrid kopieren

  Alt 20. Mai 2006, 20:16
Na gut - dann noch eine weiter aufgebohrte Version der Demo.

marabu
Angehängte Dateien
Dateityp: zip sg-clip_687.zip (2,5 KB, 21x aufgerufen)
  Mit Zitat antworten Zitat
tom_po

Registriert seit: 5. Feb 2006
137 Beiträge
 
Delphi 7 Enterprise
 
#14

Re: Mehrer Zellen vom Stringgrid kopieren

  Alt 20. Mai 2006, 23:42
super, jetzt hab ich's so, wie ich es gewohnt bin. Allerdings konnte ich bei Shortcut nur das Deutsche auswählen, da ich ja deutsch. Delphi habe, wollte es aber gerne auf portugiesisch, z.B. Umschalt-Taste...

aber ok, ich habe jetzt Strg+C und Strg+P gemacht

ein ganz grosses Dankeschön an dich Marabu für deine so grosszügige Hilfe...
  Mit Zitat antworten Zitat
tom_po

Registriert seit: 5. Feb 2006
137 Beiträge
 
Delphi 7 Enterprise
 
#15

Re: Mehrer Zellen vom Stringgrid kopieren

  Alt 20. Mai 2006, 23:50
ein grosser Dank an Dich Marabu für deine grosszügige Hilfe...jetzt wird es so, wie ich es will.

Allerdings kann ich nur zusammenhängende Zellen auswählen..

wenn ich jetzt dazwischen welche auslassen will (die ich nicht kopieren will) kann ich z.B. im Excel mit Strg-Taste halten und dann weiter unten weiter markieren.

Das andere wäre noch, im popup-menu das Löschen der markierten Zellen (doGriddelete) einzufügen, wie wäre da die Prozedure?
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#16

Re: Mehrer Zellen vom Stringgrid kopieren

  Alt 21. Mai 2006, 16:54
Hallo.

Zitat von tom_po:
Allerdings kann ich nur zusammenhängende Zellen auswählen..
Solange wir mit der eingebauten StringGrid.Selection arbeiten wird sich auch nichts daran ändern. Ich kenne jetzt Excel nicht so gut, aber ganz allgemein müssen da eine Reihe von Festlegungen getroffen werden. Sollen wirklich beliebige nicht zusammenhängende Bereiche selektiert werden können, oder sollen nur bestimmte Zellen eines Vektors bzw. Vektoren einer Matrix ausgenommen werden können? Die Implementierung für den nicht allgemeinen Fall stelle ich mir nicht sonderlich schwer vor, aber die Bedienung durch den Benutzer wird dadurch nicht unbedingt leichter. Über den allgemeinen Fall müsste ich nachdenken, aber das ist für mich ein Problem sehr niedriger Priorität.

Zitat von tom_po:
Das andere wäre noch, im popup-menu das Löschen der markierten Zellen (doGriddelete) einzufügen, wie wäre da die Prozedure?
Ich habe die Demo nochmals erweitert - ein paar Feinheiten und ein paar Funktionalitäten sind dazu gekommen. Außerdem habe ich aufgrund der gewachsenen Zeilenzahl den Code neu organisiert.

Grüße vom marabu
Angehängte Dateien
Dateityp: zip sg-clip_211.zip (4,3 KB, 81x aufgerufen)
  Mit Zitat antworten Zitat
tom_po

Registriert seit: 5. Feb 2006
137 Beiträge
 
Delphi 7 Enterprise
 
#17

Re: Mehrer Zellen vom Stringgrid kopieren

  Alt 21. Mai 2006, 19:28
so langsam bekomme ich ein perfektes Grid, nochmals vielen Dank, marabu

das Löschen und Einfügen werde ich bei meiner Applikation nicht anwenden, da ich Labels ausdrucke und das Blatt immer genau 40 Grid-Zeilen haben muss.

Aber deine grid-demo kann ich bestimmt mit dem Einfügen und Löschen von Zeilen und Spalten sicher bald mal verwenden.
  Mit Zitat antworten Zitat
tom_po

Registriert seit: 5. Feb 2006
137 Beiträge
 
Delphi 7 Enterprise
 
#18

Re: Mehrer Zellen vom Stringgrid kopieren

  Alt 23. Mai 2006, 08:10
Ich habe doch noch 2 kleine Fragen:

1. wenn ich die Zellen mit der linken Maustaste markiere und ich will weiter nach unten fahren (Grid hat mehr Zeilen, als die Form zeigt), geht das "Ziehen" nach unten nicht....Cursor bleibt fix in der letzten sichtbaren Zeile...

2. Ich dachte wenn ich den Bereich markiere und dann kopieren auswähle, seien die Daten zwischengespeichert und ich könnte sie auch z.B. in mein Notepad ziehen, geht aber nicht....
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#19

Re: Mehrer Zellen vom Stringgrid kopieren

  Alt 23. Mai 2006, 09:58
Zitat von tom_po:
wenn ich die Zellen mit der linken Maustaste markiere und ich will weiter nach unten fahren (Grid hat mehr Zeilen, als die Form zeigt), geht das "Ziehen" nach unten nicht....Cursor bleibt fix in der letzten sichtbaren Zeile...
Ist nicht implementiert. Dazu müsstest du im event handler für OnMouseMove() prüfen ob du mit gedrückter Maustaste in den Randbereich des Grid steuerst und dann müsstest du das Grid entsprechend rollen.

Zitat von tom_po:
Ich dachte wenn ich den Bereich markiere und dann kopieren auswähle, seien die Daten zwischengespeichert und ich könnte sie auch z.B. in mein Notepad ziehen, geht aber nicht....
Drag und Drop zwischen verschiedenen Programmen ist auch nicht implementiert.

Grüße vom marabu
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz