AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi in nem Stringgrid zu ner bestimmten Zelle gehn ??
Thema durchsuchen
Ansicht
Themen-Optionen

in nem Stringgrid zu ner bestimmten Zelle gehn ??

Ein Thema von erniepb · begonnen am 30. Jun 2002 · letzter Beitrag vom 10. Sep 2006
Antwort Antwort
erniepb

Registriert seit: 8. Jun 2002
Ort: Berlin
96 Beiträge
 
Delphi 7 Enterprise
 
#1

in nem Stringgrid zu ner bestimmten Zelle gehn ??

  Alt 30. Jun 2002, 17:19
Wie kann ich über ne einfache procedure ne bestimmt Zelle einer TStringgridkomponente auswählen .. also so das die Zelle für den Benutzer dann halt 'markiert' ist ??

Danke!!
  Mit Zitat antworten Zitat
Sebastian Nintemann
(Gast)

n/a Beiträge
 
#2
  Alt 30. Jun 2002, 17:55
Eine oder mehrere Zellen markieren kannst du so:

Code:
var
  GridRect: TGridRect; //Rechteck das die Koordinaten im Grid enthält zwischen denen
                                  // die Zellen markiert werden sollen
begin
  GridRect.Left := 1;
  GridRect.Top := 1;
  GridRect.Right := 1;
  GridRect.Bottom :=1;
  StringGrid1.Selection := GridRect   //Zelle 1,1 wird markiert
end;

Gruß, Sebastian
  Mit Zitat antworten Zitat
erniepb

Registriert seit: 8. Jun 2002
Ort: Berlin
96 Beiträge
 
Delphi 7 Enterprise
 
#3
  Alt 30. Jun 2002, 18:20
hmm .. mit dem markieren funktioniert ja .. aller dings hab ich da jetzt noch das Problem .. dass wenn ich scrollbars in dem Stringgrid hab und die zu selektierende Zelle außerhalb des sichtbaren Bereichs liegt .. ich dann da auch gern hin möchte ..

jemand ne idee ??
  Mit Zitat antworten Zitat
Sebastian Nintemann
(Gast)

n/a Beiträge
 
#4
  Alt 30. Jun 2002, 22:42
TStringGrid hat die Methode ScrollBy, abgeleitet von TWinControl.

Code:
StringGrid1.ScrollBy(0,300); //das StringGrid scrollt 300 Pixel nach unten
Du kannst ja mittels der Eigenschaften DefaultRowHeight und DefaultColWidth und dem Index der Zeile bzw Spalte die sichtbar sein soll errechnen, wohin du scrollen musst. Ich hoffe das hilft dir

Gruß Sebastian
  Mit Zitat antworten Zitat
erniepb

Registriert seit: 8. Jun 2002
Ort: Berlin
96 Beiträge
 
Delphi 7 Enterprise
 
#5
  Alt 1. Jul 2002, 17:33
naja soweit so gut .. hab damit dann nur das Problem das ich nicht die Aktuelle Position des Scrollbars bestimmen kann .. jedenfalls nicht weiß wie ich das mache .. da die zuübergebenden Parameter von ScrollBy ja Änderungswerte von der aktuellen Position angeben .. und nicht von (0,0) ..
  Mit Zitat antworten Zitat
Sebastian Nintemann
(Gast)

n/a Beiträge
 
#6
  Alt 1. Jul 2002, 18:01
Stimmt, das ist ja auch noch ein Problem... aber auch hierfür gibts natürlich ne Lösung

Also mit TStringGrid.MouseToCell(0,0,xvar,yvar); kriegst du den Zeilen/Spaltenindex der Zelle die aktuell links oben in der Ecke des Stringgrids sichtbar ist in die Variablen (hier xvar und yvar). Wenn also die Scrollposition so ist dass zb die Zelle (0,3) oben in der Ecke ist, dann steht nach Aufruf von MouseToCell in xvar 0, und in yvar 3. Daraus kannst du errechnen, wieweit das Grid gescrollt ist, also auch wieweit du noch scrollen musst.

Ich hoffe ich hab das jetzt richtig erklärt, habs nicht ganz ausprobiert. Viel Erfolg!

Gruß Sebastian!
Ps: bin ab morgen im Urlaub :]
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#7

Re: in nem Stringgrid zu ner bestimmten Zelle gehn ??

  Alt 1. Jan 2004, 18:43
Hallo,
da ich das gleiche Problem habe bin über Suchen auf diesen Thread gestolpert.
Leider konnte ich aus den vorangegangenen Beiträgen noch keine Lösung ableiten.

Hat jemand ein Lösung für die Frage :

Wie scrolle ich eine selektierte aber nicht sichtbare Zelle in den sichtbaren Bereich?
  Mit Zitat antworten Zitat
eisblock

Registriert seit: 11. Dez 2005
Ort: Linderbach
127 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: in nem Stringgrid zu ner bestimmten Zelle gehn ??

  Alt 10. Sep 2006, 14:08
StringGrid1.Perform(WM_VSCROLL,SB_BOTTOM,0);

edit: damit würdest du nach ganz unten scrollen falls du das wolltest.
  Mit Zitat antworten Zitat
Antwort Antwort


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 01:20 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