ohne Daten, aber im Prinzip ...
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.HintPause :=0;
Application.HintHidePause :=2000;
end;
procedure TForm1.ListBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var
ANewHint:String;
i:Integer;
begin
i := ListBox1.ItemAtPos(Point(x,y), True);
if i>-1 then
begin
ANewHint := ListBox1.Items[i];
if ANewHint<>Listbox1.Hint then
begin
Listbox1.Hint:=ANewHint;
Application.ActivateHint(Point(x,y));
end;
end;
end;
Guten Morgen ihr Lieben,
danke erstmal für die Denkanstöße.
Bummi, deine Version ist ja fast die gleiche wie meine und leider brachte sie auch nicht den erwünschten Erfolg. Die Daten sind immer noch die vom vorherigen Datensatz, auf dem die Maus war. Auch muss ich immer noch 'raus aus der Listbox, um einen neuen Hint zu bekommen.
Ich würde ja am liebsten verbissen daran weiterarbeiten, bis das funktioniert, aber ich weiß nicht so recht, wo da der Fehler liegen könnte, da ich den Quelltext schon mehrere Male durch den Debugger jagte und eigentlich auch an der Stelle
lst1.Hint:=neuerHint;
die richtige Adresse in der Variable angezeigt wird.
Ein Kollege vermutete, dass das MouseMove-Ereignis auch vielleicht noch so ganz das richtige dafür ist, was ich da basteln möchte. Aber sowas wie MouseOver gibt es ja leider nicht bei der Listbox. -.- Mir jetzt selber so ein Ereignis zu schreiben, ist mir für diese Sache eigentlich auch zu aufwendig, da würde ich mir lieber eine andere Art überlegen, die Adresse anzeigen zu lassen.
EDIT!
So, Maya Sherlock Holmes hat zugeschlagen und geht der Sache jetzt auf 'n Grund. Ich hab jetzte infach mir 'n Label noch mit hingeklatscht und wenn ich jetzt über die Liste fahre, funktioniert das mit dem Label so wie ich das will, dass immer aktuell die Adresse des anvisierten Namen angezeigt wird. Ein weiterer Test bestätigte mir, dass das Problem bei dem TBalloonHint liegt. Als ich den aus dem CustomHint von der Listbox 'rausnahm, funktionierte das einwandfrei mit dem Standardhint! Die Schrift ist mir von dem aber zu klein, weswegen ich den BalloonHint nehmen möchte.
Jemand einen Tipp, was ich bei den Eigenschaften ändern muss? Den Delay habe ich schon 'runtergesetzt, kann aber z.B. nicht so recht was mit der Eigenschaft "HideAfter" anfangen und die
OH empfinde ich da jetzt auch nicht als hilfreich.