AGB  ·  Datenschutz  ·  Impressum  







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

StringGrid verhält sich komisch

Ein Thema von Mike_on_Tour · begonnen am 14. Mai 2009 · letzter Beitrag vom 15. Mai 2009
Antwort Antwort
Mike_on_Tour

Registriert seit: 16. Aug 2007
195 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

StringGrid verhält sich komisch

  Alt 14. Mai 2009, 18:34
Hallo,

ich habe ein StringGrid auf einer Form und einen Button. Beim Start werden Daten in das Grid geschrieben und dann wird der Button geklickt. Es wird ein neues Fenster geöffnet. Nach dem Schließen dieses Fensters ist der Focus noch auf dem Button. Wenn ich jetzt auf die erste freie Zelle oben links klicke, kann ich dort Daten eingeben, obwohl ich mit dem Ereignis OnSelectCell für diese Spalte angebe:CanSelect := false; Im Debugger wird als erstes Ereignis aber OnMouseDown angesprungen. Bei anderen Zellen des Grids funktioniert alles wunderbar. Ich weiß zur Zeit keine Lösung.

Nachtrag: Das Grid verhält sich nur so beim ersten Klick nach dem Schließen des zweiten Fensters. Wenn ich dann in andere Zellen klicke und danach wieder in die erste Zelle oben links, kann ich diese Zelle nicht mehr editieren. Sollte es auch ja auch schon beim ersten Klick sein. Folgende Grid-Option sind eingestellt:
Delphi-Quellcode:
goEditing := true;
goFixedVertLine := true;
goFixedHorzLine := true;
goVertLine := true;
goHorzLine := true;

alles andere ist FALSE
Mike
Programmieren ist wie das Wandeln auf dem schmalen Pfad zwischen Wahnsinn und Intelligenz.
  Mit Zitat antworten Zitat
Benutzerbild von Lannes
Lannes

Registriert seit: 30. Jan 2005
Ort: Münster
745 Beiträge
 
Delphi 3 Professional
 
#2

Re: StringGrid verhält sich komisch

  Alt 14. Mai 2009, 19:53
Hallo,

setz mal in OnSelectCell einen Haltepunkt, denn vermutlich wird OnSelectCell nicht ausgelöst, weil die erste Zelle zu dem Zeitpunkt schon selectiert ist.

also eine Zelle, die editiert werden darf, vorher selectieren.
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
  Mit Zitat antworten Zitat
Mike_on_Tour

Registriert seit: 16. Aug 2007
195 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

Re: StringGrid verhält sich komisch

  Alt 15. Mai 2009, 08:37
Ich habs doch geschrieben: ich habe ein OnSelectCell und ein OnMouseDown.

In OnSelectCell prüfe ich, ob die Zelle überhaupt selektiert werden darf. Das OnMouseDown brauche ich zur Ermittlung der Position Maus und Zelle für die weitere Arbeit. Und natürlich habe ich auf beide Ereignisse einen Haltepunkt gesetzt. Und natürlich wird OnSelect beim ersten Mal nicht ausgelöst. Steht alles im ersten Text.

Die Möglichkeit, daß die Zelle bereits selektiert ist, besteht allerdings. An einer anderen Stelle im Programm, ebenfalls mit einem StringGrid und Button konnte ich das Problem jedoch nicht feststellen. Ich muß da nochmal nachschauen.
Programmieren ist wie das Wandeln auf dem schmalen Pfad zwischen Wahnsinn und Intelligenz.
  Mit Zitat antworten Zitat
Mike_on_Tour

Registriert seit: 16. Aug 2007
195 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

Re: StringGrid verhält sich komisch

  Alt 15. Mai 2009, 11:54
Also, ich konnte keine weiteren Unterschiede feststellen. Trotzdem verhalten sich beide Grids unterschiedlich.

Ich habe jetzt in OnSelectCell noch folgende Zeilen am Ende eingebaut:
Delphi-Quellcode:
  if (CanSelect)
    then begin
      GridData.Options := GridData.Options + [goEditing];
    end
    else begin
      GridData.Options := GridData.Options - [goEditing];
    end;
Damit bekomme ich das Grid-Verhalten, was ich möchte.
Programmieren ist wie das Wandeln auf dem schmalen Pfad zwischen Wahnsinn und Intelligenz.
  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 14:21 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