Zum Hauptinhalt springen

EvtCtxEvent

EvtCtxEvent

Auslösung eines COM-Ereignisses

Details

Dieses Ereignis wird dann aufgerufen, wenn ein zuvor bei dem CtxDocEdit -Objekt mit ComEvtProcessSet () registriertes Ereignis ausgelöst wurde. Im Argument aEventID wird die Nummer des Ereignisses übergeben.

Definition des Funktionskopfes:

sub EvtCtxEvent
(
aEvt : event; // Ereignis
aEventID : int; // Ereignis-Nummer
aComArguments : handle; // COM-Argument-Objekt
)
: logic; // Wird nicht ausgewertet
{
return(true);
}

aEvt

Die Funktion hat einen Übergabeparameter vom Typ event. In aEvt wird unter anderem der Deskriptor des auslösenden Objektes, d. h. das Objekt, in dem die Ereignisfunktion eingetragen wurde, übergeben.

aEventID

Dieser Parameter enthält die Nummer des ausgelösten COM-Ereignisses des Objektes.

Eine Liste der Ereignis-Nummern ist in der Prozedur CtxDocEdit.Define.prc in dem CodeLibrary-Beispiel "CtxDocEdit" enthalten. Diese Prozedur kann auch in der eigenen Applikation includiert werden. Die Liste der Ereignisse und deren Beschreibung finden Sie zusätzlich auf der Hersteller-Seite des Moduls. Die dort genannten Ereignisse können dann mit dem Präfix txEvt verwendet werden.

aComArguments

In diesem Parameter wird der Deskriptor auf ein COM-Argument -Objekt übergeben. Es dient zur Übergabe von Ereignis-Argumenten von COM nach CONZEPT 16 und zur Argumentrückgabe von CONZEPT 16 nach COM. Die Argumente können mit ComArgGet () ausgelesen und mit ComArgSet () geschrieben werden.

Resultat

Der Rückgabewert der Funktion wird nicht ausgewertet.

Beispiel:

sub EvtCtxEvent
(
aEvt : event; // Ereignis
aEventID : int; // Ereignis-Nummer
aComArguments : handle; // COM-Argument-Objekt
)
: logic; // Wird nicht ausgewertet

{
switch (aEventID)
{
case txEvtPosChange :
{
with DocEdit
{
// Aktuelle Cursor-Position ermitteln (array aus drei integer)
tInputPos # $:CtxDocEdit->cphCurrentInputPosition;

for tIndex # tInputPos->cpiIndexStart(1)
loop inc(tIndex)
while (tIndex <= tInputPos->cpiIndexEnd(1))
{
tElement # tInputPos->cpiItem(tIndex);

switch (tIndex)
{
case 0 : // Seite
tText # 'Seite ' + CnvAI(tElement);

case 1 : // Zeile
tText # tText + ' - Zeile ' + CnvAI(tElement);

case 2 : // Spalte
tText # tText + ' - Spalte ' + CnvAI(tElement);
}

$:sbnPos->wpCaption # tText;
}
}
}
}

return(true);
}