Zum Hauptinhalt springen

EvtHelpTip

EvtHelpTip

HelpTip-Ereignis

Details

Dieses Ereignis wird aufgerufen, wenn über ein Objekt mit der Eigenschaft HelpTip gefahren wird. Während der HelpTip angezeigt wird, wird das Ereignis nur ausgelöst, wenn sich ein Unterobjekt des Objektes ändert. Ein Unterobjekt könnte beispielsweise eine Zeile oder Spalte einer RecList sein. Das Ereignis wird innerhalb eines Objektes maximal alle 250 Millisekunden ausgelöst, unabhängig davon, ob ein HelpTip angezeigt wird, oder nicht.

info

Die Verarbeitung des Ereignisses sollte möglichst kurz sein, um den Programmablauf nicht zu unterbrechen. Weitere Ereignisse werden erst nach der Abarbeitung von EvtHelpTip ausgeführt.

Definition des Funktionskopfes:

sub EvtHelpTip
(
aEvt : event; // Ereignis
aButton : int; // Zusatztasten
aHitTest : int; // Hittest-Code
aItem : handle; // Unterobjekt
aID : bigint; // Objekt-ID
aNameID : alpha; // Namens-ID
aText : alpha(8192); // Anzuzeigender HelpTip (in/out)
aJustify : int; // Ausrichtung des HelpTips (in/out)
)
: logic; // HelpTip anzeigen?
{
return(true);
}

Alternativer Funktionskopf:

sub EvtHelpTip
(
aEvt : event; // Ereignis
aButton : int; // Zusatztasten
aHitTest : int; // Hittest-Code
aItem : handle; // Unterobjekt
aID : int; // Objekt-ID
aNameID : alpha; // Namens-ID
aText : alpha(8192); // Anzuzeigender HelpTip (in/out)
aJustify : int; // Ausrichtung des HelpTips (in/out)
)
: logic; // HelpTip anzeigen?
{
return(true);
}

aEvt

In aEvt vom Typ event wird unter anderem der Deskriptor des auslösenden Objekts übergeben.

aButton

aButton gibt die Taste oder die Tastenkombination an, die beim Auslösen des Ereignisses gedrückt waren:

Die Konstanten können miteinander kombiniert werden.

aHitTest

In diesem Parameter wird der Objekttyp angegeben, der an der Stelle der Mausposition vorliegt:

aItem

Der Übergabeparameter enthält in Abhängigkeit von dem in aHitTest übergebenenden Wert den Deskriptor des Objektes, über dem die Maus liegt:

Wurde das Ereignis bei einem PrtJobPreview -Objekt ausgelöst, kann der Name des Objekts (aItem-> wpName) nur dann ermittelt werden, wenn der Druckjob zuvor mit der Option _PrtJobOpenVerbose gespeichert wurde. Das PrtJobPreview -Objekt der Druckvorschau kann mit dem Befehl PrtSearch (..., 'PpvControl' ) ermittelt werden.

Wurde das Ereignis bei einem RecView -Objekt mit Hittest _WinHitGroup ausgelöst, sind die Eigenschaften SelectorItem und SelectorSubItem entsprechend gesetzt, so dass auf die Eigenschaften des entsprechenden Items zugegriffen werden kann. Die Eigenschaften können nur gelesen werden.

aID

Enthält aItem einen gültigen Deskriptor auf eine Spalte oder Gruppe, wird in aID entweder die Datensatz-ID des Datensatzes (bei den Objekten RecList , RecListPopup und RecView ) oder die Zeilennummer (bei den Objekten DataList und DataListPopup ) der Zeile übergeben, über der die Maus liegt.

info

Wird der alternative Funktionskopf verwendet, kommt es zum Laufzeitfehler _ErrValueOverflow , wenn die zu übergebende Datensatz-ID nicht in den Wertebereich von int passt.

Wurde die Maus innerhalb eines Statusbar -oder Toolbar -Objektes positioniert, ist aID immer 0.

Enthält aItem einen gültigen Deskriptor auf ein Intervall , enthält aID den Wert, der in der Eigenschaft ID des Intervalls enthalten ist.

Enthält aItem einen gültigen Deskriptor auf eine Achse , wird in aID die Nummer der Skala-Zelle (>=0) übergeben. Liegt der Punkt, der zum Auslösen des Ereignisses führte, im Titel der Achse, wird in aID der Wert -1 übergeben.

Wird in aItem die Nummer einer Spalte eines Gantt-Graphen übergeben, befindet sich in diesem Parameter die Zeile, über der die Maus steht.

Wurde das Ereignis bei einem DocView -Objekt ausgelöst, steht in aID die Nummer der Seite. Existiert an der Mausposition keine Seite, wird 0 übergeben. Das Argument aItem ist immer 0.

Ist das Ereignis bei einem PrtJobPreview eingetragen, wird in aID die Seitennummer anhand der Mausposition übergeben. Ist an der Mausposition keine Seite, wird 0 übergeben. In diesem Fall ist aHitTest = _WinHitNone und aItem = 0.

Beim Calendar -Objekt wird in aID das mit CnvID () gewandelte Datum übergeben. aItem ist immer 0.

aNameID

In diesem Argument wird die Namensreferenz des Objektes übergeben, über dem die Maus steht. Dieses Argument ist nur bei folgenden Objekten gesetzt:

aText

In aText wird der Wert der Eigenschaft HelpTip des Objektes übergeben. Hat ein Untergeordnetes Objekt einen eigenen HelpTip und befindet sich die Maus über diesem Unterobjekt, wird der HelpTip des Unterobjektes übergeben. Beispielsweise kann jede Spalte einer Liste einen eigenen HelpTip besitzen.

Der anzuzeigende Text kann mit diesem Argument verändert werden. Ist aText beim Beenden des Ereignisses eine leere Zeichenkette, wird kein HelpTip angezeigt.

Setzen dieses Argumentes verändert nicht den Wert der Eigenschaft HelpTip.

info

Unterstützt das Objekt Unicode-Werte , werden Umlaute auch im Unicode-Zeichensatz übergeben. Bei der Rückgabe müssen im Ereignis gesetzte Umlaute ebenfalls entsprechend gewandelt werden (siehe Beispiele). Die Unicode-Unterstützung des Objektes kann mit WinInfo ( _WinUnicode ) ermittelt werden.

aJustify

In aText wird der Wert der Eigenschaft HelpTipJustify des Objektes übergeben. Dieser kann auf folgende Werte gesetzt werden:

Setzen dieses Argumentes verändert nicht den Wert der Eigenschaft HelpTipJustify.

Resultat

Wird true zurückgegeben, wird der Text aus aText angezeigt, sofern dieser keine leere Zeichenkette ist.

Besonderheiten

info

Während dieses Ereignisses ist eine Veränderung des RecView -Objektes nicht zulässig. Eigenschaften und Befehle, die das RecView , die Columns oder SubColumns verändern würden, lösen den Laufzeitfehler _ErrHdlInvalid aus. Das Abfragen von Eigenschaften sowie der Aufruf von WinInfo () sind zulässig.

Hat ein Objekt weder die Eigenschaft HelpTip gesetzt noch das Ereignis EvtHelpTip eingetragen, wird das Elternobjekt auf vorhandensein geprüft.

Bei deaktiven Objekten (Disabled = true oder LstStyle = _WinLstHeaderStatic) wird kein Ereignis ausgelöst und kein Helptip angezeigt.

Beispiele

sub EvtHelpTip
(
aEvt : event; // Ereignis
aButton : int; // Zusatztasten
aHitTest : int; // Hittest-Code
aItem : handle; // Unterobjekt
aID : bigint; // Objekt-ID
aNameID : alpha; // Namens-ID
aText : alpha(8192); // Anzuzeigender HelpTip (in/out)
aJustify : int; // Ausrichtung des HelpTips (in/out)
)
: logic; // HelpTip anzeigen?

{
// Zeichenkette mit Umlauten unabhängig von der Unicode-Unterstützung des Objektes korrekt anzeigen
if (aEvt:Obj->WinInfo(_WinUnicode))
aText # StrCnv(StrCnv(<Zeichenkette mit Umlauten>, _StrToUTF8), _StrFromANSI);
else
aText # <Zeichenkette mit Umlauten>;

return(true);
}