Einzelnen Beitrag anzeigen

stoermi

Registriert seit: 1. Dez 2004
Ort: im Wald von Thüringen
75 Beiträge
 
Delphi 6 Enterprise
 
#1

verschiedene Hilfetexte auf einer PaintBox

  Alt 31. Dez 2004, 16:14
Hallo!

Ich habe eine PaintBox mit verschiedenen gezeichneten Objekten drauf.
Nun möchte ich, wenn der Benutzer mit der Maus auf ein solches Objekt zeigt, dass ein Hilfetext (gelbes Schildchen) mit einer Beschreibung angezeigt wird.
Das funktioniert auch mit meinem Code.
Das erste Problem besteht darin, dass, wenn ich die Maus wieder bewege, und ich sie dann auf eine freie Fläche bewege, wieder der selbe Text dargestellt wird. Dort soll aber nix kommen, da da ja kein Objekt ist.
Da sind wir gleich beim zweiten Problem: Ich verwende das Ereignis OnMouseMove der PaintBox. Solange ich mich mit der Muas auf der PaintBox befinde, wird nur ein Hilfe Text dargestellt. Ich möchte aber, dass er beim wandern über die Objekte jeweils einen neuen anderen Hilfetext darstellt.
Vielleicht könnt ihr mir helfen...

Hier mein bisheriger Code:

Delphi-Quellcode:
procedure PaintBox1MouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
var mausPos: TPoint;
    zma, i: Integer;
begin
  mausPos.X := x-hRand; //Mausposition
  mausPos.Y := y-vRand;
  zma := length(zimmerObj); //anzahl der zu durchlaufenden Objekte

  for i := 0 to zma-1 do
  begin
    if zimmerObj[i].clicked(mausPos) = true then //gibt true zurück wenn mausPos in zimmerObj
    begin
      PaintBox1.Hint := 'Zimmer ' + zimmerObj[i].zimNum + ': wieder frei am ' +
                        FormatDateTime('dd.mm.yyyy', zimmerObj[i].buchung.abreise);
      PaintBox1.ShowHint := true;
    end
    else
    begin
      //?????? //in diesem Fall soll nix angezeigt werden
    end;
  end;

end;

edit: Schreibfehler korrigiert!
  Mit Zitat antworten Zitat