AGB  ·  Datenschutz  ·  Impressum  







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

Eingaben in Stringgrid begrenzen

Ein Thema von Hansa · begonnen am 28. Nov 2005 · letzter Beitrag vom 29. Nov 2005
Antwort Antwort
marabu

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

Re: Eingaben in Stringgrid begrenzen

  Alt 29. Nov 2005, 18:24
Hallo Hansa,

Zitat von Hansa:
Wenn das nämlich mit einer Zeile in reinem Delphi zu erledigen ist dann brauche ich keine WinApi Sachen.
du hast eine "reine, einzeilige" Lösung? Dann schäme ich mich, dass ich die nicht kenne.

Aber auch mein Lösungsansatz ist "einzeilig" und darüberhinaus halte ich ihn für professionell. In meinem Beitrag sieht er vielleicht etwas umfangreicher aus, aber nur, weil ich dir auch noch ein Konzept mit an die Hand geben wollte, nach dem du für jede Spalte deines Grids eine definierte maximale Eingabelänge benutzen kannst.

Wenn dein Grid in den Edit-Modus geht, dann wird ein Edit-Control vor der aktuellen Zelle schwebend sichtbar gemacht (Inplace-Editor). Ist der Edit-Vorgang abgeschlossen, dann wird der Inplace-Editor wieder unsichtbar gemacht. Wenn das Grid den Text für den Inplace-Editor anfordert, dann klinke ich mich in das Ereignis ein und setze die maximale Eingabelänge entsprechend deinen Vorgaben in dem Array ColumnMaxLength. Prinzipiell machst du das gleiche, wenn du bei einer TEdit-Komponente die Eigenschaft MaxLength setzt. Der Vorteil gegenüber dem durchaus kreativen Ansatz von Lannes ist, dass der Benutzer deines Programms gar nicht erst zuviele Zeichen eingeben kann.

Zitat von Hansa:
Außerdem verbiegst Du noch das Standard-StringGrid und dadurch wären meine Forms allesamt unsicher.
Ich verbiege da nichts, ich besorge mir nur ein Zugriffsrecht auf das Handle des Inplace-Editors, damit ich dessen "MaxLength" setzen kann.

Zitat von Hansa:
An zwei Stellen mußte diese Funktionalität eingebaut werden und jetzt reagieren zig Stringgrids gleich.
Das ist fast unglaublich. Hast du denn die Ereignisbehandlungsroutine an alle deine StringGrids geheftet? Kannst du tun, aber dann musst du auch dafür sorgen, dass stets plausible Werte für "MaxLength" bereit stehen. Mein Array hält ja nur die Werte für ein einziges Grid vor.

Was SKU bedeutet, das willst du mir nicht beibringen? Auch bei den Emoticons habe ich oft keine passende Assoziation.

Leicht betrübte Grüße vom marabu
  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 23:15 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-2025 by Thomas Breitkreuz