Announcement

Collapse
No announcement yet.

Hint-Text in Statuszeile anzeigen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Hint-Text in Statuszeile anzeigen

    Hallo zusammen

    ich möchte die Hint-Texte in der Statuszeile meiner Form anzeigen. Dabei sollen aber nur die Texte der Objekte angezeigt werden, die auch auf der aktiven Form sind. <br>
    Ich habe es soweit hingekriegt, dass die Texte auf der aktiven Form angezeigt werden. Aber leider werden auch die Hint-Texte der im Hintergrund liegenden Form angezeigt. <br>
    Gibt es eine Möglichkeit herauszufinden, von welchem Objekt der Hint-Text stammt, damit ich nur Texte der aktiven Form filtern kann?

    vielen Dank für eure Hilfe <br>
    René

  • #2
    Das Erreignis Application.OnHint liefert einen Sender:<br>
    In dieser Routine gibt also ((Sender AS TComponent).Owner AS TForm) das Form der Komponente, die den Hint lieferte.<br>
    <br>
    Ich bin leider nicht dazugekommen, daß zu testen, aber es sollte ungefähr so funktionieren
    Schöne Grüße, Mario

    Comment


    • #3
      Hallo

      ich habe den Sender ausgewertet, aber ich erhalte mit (Sender AS TComponent).ClassName nur den Wert 'TApplication'. <br>
      Leider kann ich daraus nicht ermitteln, von welchem Objekt die Meldung stammt.
      Vielleicht gibt es ja noch andere Ansätze, oder mache ich was falsch

      Comment


      • #4
        Du machst nichts falsch, sondern hast recht. Ich habe nochmal genauere nachgeschaut. Das Erreignis wird in dem Fall wohl durch die Application selbst ausgelöst (Macht auch irgendwo Sinn).<br>
        Somit wirst du den Absender wahrscheinlich gar nicht ermitteln können. In diesem Fall würde ich die Hinttexte 'kodieren', z.B. durch voranstellen einer Kennzahl für das Form, worauf die Komponente sitzt. Diese kannst du dann leicht auswerten und auch leicht entfernen, da du ja die die Hinttexte sowieso selbst ausgeben mußt
        Schöne Grüße, Mario

        Comment


        • #5
          Hi

          Schau mal bei TApplication.OnShowHint

          <pre>
          TShowHintEvent = procedure (var HintStr: string; var CanShow: Boolean; var HintInfo: THintInfo) of object;

          type
          THintWindowClass = class of THintWindow;
          THintInfo = record

          HintControl: TControl;
          HintWindowClass: THintWindowClass;
          HintPos: TPoint;
          HintMaxWidth: Integer;
          HintColor: TColor;
          CursorRect: TRect;
          CursorPos: TPoint;
          ReshowTimeout: Integer;
          HideTimeout: Integer;
          HintStr: string;
          HintData: Pointer;

          end;

          </pre>

          Gruß Hage

          Comment

          Working...
          X