![]() |
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:
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 :
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; ![]() |
Re: Hints im Stringgrid ?
Moin Hansa,
Du hast
Delphi-Quellcode:
vergessen.
If (ACol<>LastCol) or (ARow<>LastRow) Then
begin Application.CancelHint; LastCol:=ACol; LastRow:=ARow; end; Ach ja- um das Verschwindendes Hints zu verzögern kann man Application.HintPause einen Wert in Millisekunden zu weisen |
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] |
Re: Hints im Stringgrid ?
Was heißt jetzt da :
Delphi-Quellcode:
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:
Application.EgalWas;
|
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: |
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: |
Re: Hints im Stringgrid ?
Zitat:
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. |
Re: Hints im Stringgrid ?
Zitat:
2. pass auf Mod's auf denn Neue Frage --> Neues Thema :wink: |
Re: Hints im Stringgrid ?
Zitat:
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: |
Re: Hints im Stringgrid ?
Zitat:
Zitat:
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 03:46 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