EvtHelpTip
EvtHelpTip
HelpTip-Ereignis
Details
- Name: Typ Beschreibung
- aEvt:
eventEreignisinformationen - aButton:
intZusatztasten - aHitTest:
intHittest-Code - aItem:
handleUnterobjekt - aID:
int/bigintObjekt-ID - aNameID:
alphaNamens-ID - aText:
alpha(8192) EigenschaftHelpTipdes Objektes (veränderbar) - aJustify:
intEigenschaftHelpTipJustifydes Objektes (veränderbar) - Resultat:
logicHelpTip anzeigen? - Siehe: Liste , Objekte , Ereignisbefehle , Blog
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.
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:
_WinMouseShift:-Taste
_WinMouseCtrl:-Taste
Die Konstanten können miteinander kombiniert werden.
aHitTest
In diesem Parameter wird der Objekttyp angegeben, der an der Stelle der Mausposition vorliegt:
_WinHitNone: kein Objekt_WinHitLstHeader: Spaltenkopf eines RecList - oder DataList -Objektes oder leerer Bereich des Spaltenkopfes eines RecView -Objektes_WinHitLstView: Spalte eines RecList - oder DataList -, Anzeigebereich eines DocView - oder leerer Bereich eines RecView -Objektes_WinHitCorner: Zwischenraum der Achsen (linke obere Ecke eines Gantt-Graphen )_WinHitGanttView: Ausgabebereich eines Gantt-Graphen_WinHitIvl: Interval -Objekt eines Gantt-Graphen_WinHitIvlBox: Box -Objekt eines Gantt-Graphen (_WinGanttIvlBoxClickmuss inGanttFlagsgesetzt sein)_WinHitIvlLeft: linke Seite des Intervalls eines Gantt-Graphen_WinHitIvlRight: rechte Seite des Intervalls eines Gantt-Graphen_WinHitAxis: Achse eines Gantt-Graphen_WinHitTreeNode: Knoten -Objekt eines TreeView_WinHitRecNavFirst: "ersten Datensatz lesen" eines RecNavigator -Objektes_WinHitRecNavLast: "letzten Datensatz lesen" eines RecNavigator -Objektes_WinHitRecNavPrev: "vorigen Datensatz lesen" eines RecNavigator -Objektes_WinHitRecNavNext: "nächsten Datensatz lesen" eines RecNavigator -Objektes_WinHitRecNavPgUp: "fünf Datensätze zurück blättern" eines RecNavigator -Objektes_WinHitRecNavPgDn: "fünf Datensätze vor blättern" eines RecNavigator -Objektes_WinHitRecNavNew: "Datensatz einfügen" eines RecNavigator -Objektes_WinHitRecNavDel: "Datensatz löschen" eines RecNavigator -Objektes_WinHitRecNavSave: "Datensatz Speichern" eines RecNavigator -Objektes_WinHitRecNavLock: "Datensatz sperren" eines RecNavigator -Objektes_WinHitStatusbar: Statusbar_WinHitStatusbarButton: Statusbar-Button -Objekt in einer Statusbar_WinHitToolbar: Toolbar_WinHitToolbarButton: Toolbar-Button -Objekt in einer Toolbar_WinHitToolbarRtf: ToolbarRtf_WinHitDocViewPage: Seite eines DocView -Objektes_WinHitPrtPage: Seite eines PrtJobPreview -Objektes_WinHitGroup: Gruppe eines RecView-Objektes_WinHitGroupColumn: Spaltenkopf eines RecView -Objektes_WinHitGroupTileButton: GroupTile-Button -Objekt in einem GroupTile_WinHitCanvasView: Ausgabebereich eines Canvas -Objektes_WinHitCanvasGraphic: CanvasGraphic eines Canvas -Objektes
aItem
Der Übergabeparameter enthält in Abhängigkeit von dem in aHitTest übergebenenden Wert den Deskriptor des Objektes, über dem die Maus liegt:
- aHitTest: aItem
_WinHitNone:0_WinHitLstView: Deskriptor der Spalte_WinHitLstHeader: Deskriptor der Spalte , über deren Spaltenkopf die Maus liegt_WinHitIvl: Deskriptor des Interval -Objektes_WinHitIvlLeft: Deskriptor des Interval -Objektes, über dessen linker Begrenzung die Maus liegt_WinHitIvlRight: Deskriptor des Interval -Objektes, über dessen rechter Begrenzung die Maus liegt_WinHitIvlBox: Deskriptor des Box -Objektes_WinHitGanttView: Die Nummer der Spalte, die Zeile wird inaIDübergeben._WinHitAxis: Deskriptor der Achse_WinHitTreeNode: Deskriptor des Knoten -Objektes_WinHitStatusbar:0_WinHitStatusbarButton: Deskriptor des Statusbar-Button -Objekts_WinHitToolbar:0_WinHitToolbarButton: Deskriptor des Toolbar-Button -Objekts_WinHitToolbarRtf: Deskriptor des untergeordneten Objektes_WinHitDocViewPage:0_WinHitPrtPage: Deskriptor des Objektes auf der Seite, über dem die Maus liegt_WinHitGroup: Deskriptor der Gruppe , über der die Maus liegt_WinHitGroupColumn: Deskriptor der Spalte , über deren Spaltenkopf die Maus liegt_WinHitGroupTileButton: Deskriptor des GroupTile-Button -Objektes_WinHitCanvasView:0_WinHitCanvasGraphic: Deskriptor des CanvasGraphic -Objektes im Canvas -Objekt
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.
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:
- Objekt: Bedeutung
- StoList / StoListPopup: Name der Applikations-Ressource
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.
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:
_WinJustLeftText linksbündig darstellen_WinJustCenterText zentriert darstellen_WinJustRightText rechtsbündig darstellen_WinJustParentText wird wie beim übergeordneten Objekt angegeben dargestellt
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
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);
}