![]() |
Re: Bei OnMouseOver Hilfe zu Eintrag in TChecklistBox anzeig
Mein zuletzt geposteter Code zeigt jetzt
nur einen Hint an, wenn die Maus über einem Objekt ist. Wenn du möchtest, dann das nur dann Infos gezeigt werden, wenn das Objekt markiert ist, musst du einfach folgende Methode in meinem obigen Beispiel ersetzen:
Delphi-Quellcode:
P.S. Warum verdoppelst du teilweise unnötig den Code?procedure TForm1.ListBox1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); var Index: integer; begin with TListbox(Sender) do begin Index:= ItemAtPos(Point(x,y), true); ShowHint:= (Index <> -1) and (Index = ItemIndex); If (ShowHint) then Hint:= TItemData(Items.Objects[Index]).InfoString; end; end; Du setzt z.B. die Variable "Index" und nimmst dann 2 Zeilen später doch wieder das gesamte Objekte mit "ItemAtPos". Bei größeren Projekten macht das schon mal was aus... Gruß Pfoto |
Re: Bei OnMouseOver Hilfe zu Eintrag in TChecklistBox anzeig
Hi,
hab das ganze jetzt so eingebunden und es hat auch (bis dato) geklappt... Aber jetzt geht es nicht mehr: Er kommt zwar in die Funktion rein, wenn ich ein MouseMove über einem Element mache, aber es geht NIX mehr auf, keine gelbe Box, nix... wenn ich mir an dieser Stelle den HINT loggen laß, klappt das ganze einwandfrei... woran kann das liegen, dass kein Hint aufgeht?
Delphi-Quellcode:
Danke!!!
procedure Tmainform.objectlistMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer); var index : integer; val : string; begin index := objectlist.ItemAtPos(Point(x,y),true); objectlist.ShowHint:= (Index <> -1) and (Index = objectlist.ItemIndex); if (objectlist.ShowHint) then begin //Hier kommt er rein objectlist.ShowHint := true; objectlist.Hint := 'HINT'; //Logger.add('HINT'); end; end; winx |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:55 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