Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TStringGrid, Übersicht beim Selektieren vieler Spalten (https://www.delphipraxis.net/77400-tstringgrid-uebersicht-beim-selektieren-vieler-spalten.html)

hoika 19. Sep 2006 07:17


TStringGrid, Übersicht beim Selektieren vieler Spalten
 
Hallo #,

mein StringGrid enthält pro Tag im Jahr eine Spalte
(soll also einen Jahreskalender darstellen).
Die 1. Zeile ist der Tag, die folgenden sind Personen.

Mann kann jetzt eine oder mehrere Spalten markieren,
und für den gegebenen Bereich etwas eintragen.

Ergebnis: Meier, (Person), 5.1.2006-20.1.2006 (Bereich), Text (etwas zum eintragen)

Nun zum Problem.
Bie längerem Ziehen, also größeren Bereichen, ist es für en Anwender schwer,
noch mitzubekommen, wo er gerade beim Ziehen ist.

Ich habe mal im Netz gesehen, dass dort ein Fadenkruez angezeigt worden ist,
was immer (auch beim Nichtziehen) bis zum oberen Rand angezeigt.
Der Code war in javascript und sah finster aus ;)


Meine Frage, wie kann man die Auswahl irgendwie visualisieren,
ich hatte schon an das Einfärben der markierten Tage gedacht,
dieses Fadenkreuz wäre aber sogar noch schöner.

Wie baut man sowas, oder was könnte man zur Visualisierung machen ?


Danke im voraus


Heiko

Klaus01 19. Sep 2006 07:54

Re: TStringGrid, Übersicht beim Selektieren vieler Spalten
 
ein etwas anderer Ansatz:

Kannst Du nicht die Kalendarkomponente nehmen um damit ein
Anfangsdatum und ein Endedatum einzugeben.
DieZeitspanne kannst Du ja dann im StringGrid farblich
hervorheben.

Grüße
Klaus

hoika 19. Sep 2006 09:25

Re: TStringGrid, Übersicht beim Selektieren vieler Spalten
 
Hallo,

neun geht nicht,
ist viel zu umständlich, um z.B. einen bestimmten Tag
(auch 1.1.2006-1.1.2006 ist ein Bereich) zu markieren,
klickt man einfach ins Grid drauf.

Das mit dem markieren ist ja schon der richtige Weg,
nur wie ?
Die Tages-Zeile einfärben im OnXX (?)
oberhalb der Tages-Zeile (die Kopfzeile) noch neu kleiner
für Markierungen ?
So ne Art Gummyband (findet man per rubber band) im Netz,
was mit xor irgendso ne Markierungs-Linie drübermalt.

Ich habe echt keinen Plan.


Heiko

Lannes 19. Sep 2006 09:58

Re: TStringGrid, Übersicht beim Selektieren vieler Spalten
 
Hallo,

zeige doch einen Hint mit Datum -(von bis)- ermittelt aus der aktuellen Selection an.
Code zum anzeigen von Hints im StringGrid , abhängig von der Zelle, findest z.B. auf dstd http://www.dsdt.info/tipps/?id=564

Ein kleines Beispiel zur Ermittlung des markierten Datum-Bereichs aus der ersten Zeile(mit einem Label zur Ausgabe):
Delphi-Quellcode:
procedure TForm1.StringGridMouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
begin
   with StringGrid do
   if ssLeft in Shift then
     Label1.Caption := Cells[Selection.Left,0]+' - '+Cells[Selection.Right,0];
end;

uwewo 19. Sep 2006 10:34

Re: TStringGrid, Übersicht beim Selektieren vieler Spalten
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Hoika,

ich hatte vor 1 Jahr mal eine Komponente angefangen zu diesem Thema, konnte manche Dinge dann allerdings nicht realisieren und habe diese nun auf Eis gelegt.

Schau Dir mal das Demo an, wenn es diese Art der Markierung wie bei mir möglich schicke ich Dir einen Teil Code.

hoika 19. Sep 2006 10:46

Re: TStringGrid, Übersicht beim Selektieren vieler Spalten
 
Hallo ,

> uwewo
naja, jetzt mache mal das Fenster so klein,
dass nicht alles query ins Form passt,
dann markiere mehr Spalten als angezeigt werden,
so dass die Blättern musst.
Dann siehst du, dass es sehr unübersichtlich ist.

> als Hint
hmmmmmmmmmm
das muss ich mir mal ansehen.


Heiko


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:00 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