Delphi-PRAXiS
Seite 1 von 2  1 2      

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 Sortiermöglichkeit im Stringgrid anzeigen ? [erledigt] (https://www.delphipraxis.net/42703-sortiermoeglichkeit-im-stringgrid-anzeigen-%5Berledigt%5D.html)

Hansa 22. Mär 2005 19:21


Sortiermöglichkeit im Stringgrid anzeigen ? [erledigt]
 
Hi,

ich versuche gerade, einen Hint anzuzeigen, sofern sich der Mauszeiger in der Überschriftenzeile eines Stringgrids befindet. Es geht darum, eventuell nach einer Spalte zu sortieren.

Delphi-Quellcode:
procedure Tfrm.ShowCellHint(X,Y:Integer);
var
  ACol, ARow : Integer;
begin
  if sgArtNr.ShowHint = False then
    sgArtNr.ShowHint := True;
  sgArtNr.MouseToCell(X, Y, ACol, ARow);
  if (ARow = 0) then // Zeile mit Überschriften
    sgArtNr.Hint:='für Sortierung nach '+ sgArtNr.Cells [ACol,0] +' doppelklicken';
end;

procedure Tfrm.sgArtNrMouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
begin
  ShowCellHint(X,Y);
end;
Jetzt sind aber folgende Effekte zu bemerken : Der Hint kommt sehr spät und ist zu schnell wieder weg. Außerdem habe ich den Eindruck, daß er manchmal erst angezeigt wird, wenn die Zelle angeklickt wird. Ist das MouseMove etwa das falsche ? Es handelt sich hierbei vorerst um angepaßten code von dem hier :

http://www.swissdelphicenter.ch/de/showcode.php?id=1798

Jens Schumann 22. Mär 2005 19:48

Re: Hints im Stringgrid ?
 
Moin Hansa,
Du hast
Delphi-Quellcode:
If (ACol<>LastCol) or (ARow<>LastRow) Then
  begin
    Application.CancelHint;
    LastCol:=ACol;
    LastRow:=ARow;
  end;
vergessen.
Ach ja- um das Verschwindendes Hints zu verzögern kann man Application.HintPause einen Wert in
Millisekunden zu weisen

Union 22. Mär 2005 19:54

Re: Hints im Stringgrid ?
 
Hallo Hansa,

spiel doch mal mit den Werten

Application.HintPause
Application.HintHidePause

Ausserdem wird der Hint standardmäßig erst erneut angezeigt, wenn das Control nach der Anzeige verlassen wurde. Du müsstest dafür evtl. noch Application.Cancelhint aufrufen, so wie auch in dem von Dir verwendeten source aus dem swissdelphicenter.

[edit]Wieder zu langsam...[/edit]

Hansa 22. Mär 2005 20:26

Re: Hints im Stringgrid ?
 
Was heißt jetzt da :
Delphi-Quellcode:
Application.EgalWas;
Das sieht schwer nach globalen Sachen aus. Wenn dem so ist, dann fällt der Hint hin, wo er dann hingehört : hinten runter. :lol:

Alexander 22. Mär 2005 20:30

Re: Hints im Stringgrid ?
 
?
Du kannst die Anzeigedauer doch später, wenn die Hints im Stringgrid nicht mehr angezeigt werden, doch wieder auf den alten Stand zurücksetzen. Z.B. wenn die Maus den Bereich des Stringgrid's verlassen hat.

Oder aber ich habe deinen letzten Post nicht verstanden :wink:

Hansa 22. Mär 2005 20:58

Re: Hints im Stringgrid ?
 
Natürlich kann ich alles wieder vor und zurücksetzen. Solange bis kein Programmteil mehr weiß, was gemacht werden soll. Thx, Leute, aber der Hint ist mittlerweile gecanceled. Es geht nicht um ein Stringgrid, sondern um Dutzende. Und da fange ich nicht an mit Application-Variablen zu hantieren und andererseits die Sichtbarkeit möglichst gering zu halten.

Der Hauptgrund ist aber folgender : es widerspricht meiner Programmier-Philosophie. 8) In diesem speziellen Fall greift dabei folgendes : der Anwender soll nicht wissen müssen, was gemacht werden muß, um irgendeinen Hinweis zu erhalten wie wieder eine Aktion ausgeführt wird.

Deshalb mache ich lieber die Spalten kenntlich, bei denen es Sinn macht, sie zu sortieren und man sieht diese Möglichkeit auch sofort, ohne mit der Maus rumzufuchteln. Zumindest, ohne daß die Maus in der 1. Zeile und einer bestimmten Spalte ist.

Erledigt ist das Thema damit aber noch nicht ganz. Denn es stellt sich noch die kleine Frage, was ich wie machen soll. Die Farbe der Zelle alleine sagt zuwenig aus. Ich bräuchte ein gängiges Zeichen/Symbol. Wer hat da Ideen ? Bzw. was ist so üblich ? Ein "S" für Sortierung könnte für Irritation sorgen, denn es könnte auch für "Suchen" oder sonstwas stehen. Für richtige DAUs ist das viel zu hoch. :mrgreen:

IngoD7 22. Mär 2005 21:05

Re: Hints im Stringgrid ?
 
Zitat:

Zitat von Hansa
Was heißt jetzt da :
Delphi-Quellcode:
Application.EgalWas;
Das sieht schwer nach globalen Sachen aus. Wenn dem so ist, dann fällt der Hint hin, wo er dann hingehört : hinten runter. :lol:

Er nun wieder ... :roll:

Application ist vom Typ TApplication. Und es ist sogar sehr global. Und du schleppst es durch jedes deiner Programme mit durch, sobald die Unit Forms eingebunden ist - ob du willst, oder nicht. :lol:

Abgesehen davon ist es sehr nützlich. Siehe Online-Hilfe dazu.

TeronG 22. Mär 2005 21:46

Re: Hints im Stringgrid ?
 
Zitat:

Zitat von Hansa
Denn es stellt sich noch die kleine Frage, was ich wie machen soll. Die Farbe der Zelle alleine sagt zuwenig aus. Ich bräuchte ein gängiges Zeichen/Symbol. Wer hat da Ideen ? Bzw. was ist so üblich ? Ein "S" für Sortierung könnte für Irritation sorgen, denn es könnte auch für "Suchen" oder sonstwas stehen.

1. Benutze lieber Bildchen statt nur einzelne Buchstaben ... (siehe z.B. Word & co.)
2. pass auf Mod's auf denn Neue Frage --> Neues Thema :wink:

Hansa 23. Mär 2005 03:03

Re: Hints im Stringgrid ?
 
Zitat:

Zitat von TeronG
1. Benutze lieber Bildchen statt nur einzelne Buchstaben ... (siehe z.B. Word & co.)
2. pass auf Mod's auf denn Neue Frage --> Neues Thema :wink:

zu 1: Du meinst also Bildchen wären besser ? Bitte erläutere mal, warum du das meinst. Desweiteren wäre mal interessant, wo so etwas zu besichtigen ist. Mir fiel auf Anhieb nichts ein. Im Word gibt es kein sortierbares Stringgrid oder doch ? Habe noch in Excel reingeschaut, aber auch da sehe ich auf Anhieb mal nichts in der Richtung. Wie siehts z.B. bei Fremdkomponenten Grids aus ? Wobei ich allerdings gleich dazu sage, daß die für das hier nicht in Frage kommen. Ein Bildchen werde ich schon noch in eine Zelle reinkriegen. :mrgreen: Weiß zwar noch nicht wie genau, aber ich habe auch noch nicht gesucht. Also : warum kein Buchstabe, sondern ein Bildchen ?

zu 2: Auf die Mods muß man wohl kaum groß aufpassen. Die machen ihre Arbeit schon sehr gut und wissen (meistens) 8) was im Fall der Fälle zu tun ist. Hätte ich jetzt mittendrin plötzlich die Frage gestellt, wie man eine Spalte breiter macht, dann mit Sicherheit nicht in diesem Thread, sondern in einem neuen. Da ich nun die Hints eben Hints sein lasse, zumindest in diesem Fall, und es trotzdem immer noch im Prinzip um dieselbe Frage geht (Anzeige der Sortiermöglichkeit) und ich nicht den halben Thread hier in einen neuen kopieren will, habe ich den Titel geändert und das wars hoffentlich. Die Frage hat sich eben etwas verändert. Andere ändern ihre Meinung sogar noch schneller, als ich. :mrgreen:

Luckie 23. Mär 2005 04:36

Re: Hints im Stringgrid ?
 
Zitat:

Zitat von Hansa
zu 2: Auf die Mods muß man wohl kaum groß aufpassen. Die machen ihre Arbeit schon sehr gut und wissen (meistens) 8) was im Fall der Fälle zu tun ist. [..] Da ich nun die Hints eben Hints sein lasse, zumindest in diesem Fall, und es trotzdem immer noch im Prinzip um dieselbe Frage geht (Anzeige der Sortiermöglichkeit)

Im Prinzip ja, nur geht es hier, nach eigener Aussage, nun gar nicht mehr um Hints. Ergo haben wir eine ganz andere Fragestellung und deshalb wäre es wünschensweret, wenn du einen neuen Thread erstellst.

Zitat:

und ich nicht den halben Thread hier in einen neuen kopieren will,
Ich würde dich so gar darum bitte, dein Problem unter den neuen Gesichtspunkten entsprechend neu zu formulieren, denn ich weiß langsam nicht mehr, was du willst und wo dein Problem ist.

Wenn du eine Liste willst, die man sortieren kann, dann nimm einen Listview, der bringt so was von Haus aus mit und der kennt auch die Pfeile im Header für sortierte Spalten. zwar muss man da etwas nachhelfen, aber ich bin mir unter prozentig sicher, dass hier im Forum Code von Matthias Simmack dazu existiert. Solltest du ihn nicht fonden, sprich ihn einfach per PN an, er hilft gerne.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:35 Uhr.
Seite 1 von 2  1 2      

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