Delphi-PRAXiS
Seite 2 von 2     12   

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 Bei OnMouseOver Hilfe zu Eintrag in TChecklistBox anzeigen? (https://www.delphipraxis.net/84981-bei-onmouseover-hilfe-zu-eintrag-tchecklistbox-anzeigen.html)

Pfoto 24. Jan 2007 13:23

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:

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;
P.S. Warum verdoppelst du teilweise unnötig den Code?
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

winx 8. Feb 2007 07:41

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:
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;
Danke!!!

winx


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:55 Uhr.
Seite 2 von 2     12   

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