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 listbox automatische Balkenverschiebung mit Mauszeiger (https://www.delphipraxis.net/29761-listbox-automatische-balkenverschiebung-mit-mauszeiger.html)

HansC 14. Sep 2004 13:54


listbox automatische Balkenverschiebung mit Mauszeiger
 
in der listbox soll wenn der Mauszeiger sich auf ein anderen Eintrag aufhält auch dort gleich erscheinen, was anfangs ja nur mit click
moeglich ist. wie kann man diesen Effekt dennoch erreichen.
Zwar gibt es die Moeglichkeit mit selected, aber wenn mehr Eintraege
vorhanden sind gibt es auch hier probs, ausserdem sehr umstaendlich.
Da muss es doch irgendeine gute Loesung geben. Wer weiss es?

cu
Hans

Ultimator 14. Sep 2004 13:57

Re: listbox automatische Balkenverschiebung mit Mauszeiger
 
Zitat:

In der listbox soll wenn der Mauszeiger sich auf ein anderen Eintrag aufhält auch dort gleich erscheinen
Wenn der Mauszeiger sich auf einem Eintrag aufhält, soll er dort erscheinen? Dann ist er doch aber schon dort... :gruebel:

Oder meinst du, dass der ItemIndex auf das Item gesetzt wird, über dem sich die Maus befindet :wiejetzt:

alcaeus 14. Sep 2004 14:16

Re: listbox automatische Balkenverschiebung mit Mauszeiger
 
Hi Hans,

sieh dir mal Delphi-Referenz durchsuchenItemAtPos an, diese Funktion musst du dann im OnMouseMove der ListBox verwenden.

Greetz
alcaeus

[add]@Julian: er will dass das Element unter der Maus automatisch markiert wird, und nicht erst bei einem Klick.[/add]

HansC 14. Sep 2004 18:28

Re: listbox automatische Balkenverschiebung mit Mauszeiger
 
So geht's bei mir jetzt. Umständlich?? oder auch nicht. Jedenfalls, läuft einwandfrei!
Delphi-Quellcode:
procedure TForm5.ListBox2MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var index : integer;
begin
  begin
    Index := listbox2.ItemAtPos(Point(x,y),true);
    if index > -1 then
    begin
      listbox2.ItemIndex := Index;
      listBox2.Selected[Index] := true;
    end;
  end;
end;
cu Hans

[edit=Sharky]Delphi-Tags gesetzt. Mfg, Sharky[/edit]

DP-Maintenance 14. Sep 2004 18:30

DP-Maintenance
 
Dieses Thema wurde von "Sharky" von "Programmieren allgemein" nach "VCL-Komponenten und Controls" verschoben.
Hat ja schon etwas mit Delphi und speziell mit VCL-Kompos zu tun ;-)

Luckie 14. Sep 2004 21:48

Re: listbox automatische Balkenverschiebung mit Mauszeiger
 
Genau die selbe Lösung hatte ich auch schon. Nur machst du es den Benutzer ziemlich schwer was auszuwählen, da sich wen man es nicht geschickt anstellt die auswahl wieder ändeet, wenn der Benutzer mit der Maus die Listbox verläßt. In meinen Augne ist das alao Blösinn, es sei denn es steckt ein tieferer Sinn darin, der mir entgeht.

HansC 24. Sep 2004 19:44

Re: listbox automatische Balkenverschiebung mit Mauszeiger
 
naja, ich will ja auch im Grunde genommen nichts auswählen. Natürlich schon, aber erst mit klick. Das ist der Witz!
Ich habe eine Schachdatei und will rechts neben der Listbox diese mom. Stellung ausgeben. Sozusagen eine Grobübersicht.
Bin damit ganz zufrieden. Allerdings würde er ständig bei jeder Bewegung des Mauszeigers die Balken zeigen. Das kann man ja geschickt
mit einer Varialbe old_index verhindern.
Hans


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