Zum Hauptinhalt springen

EvtLstEditEndItem

EvtLstEditEndItem

Editiervorgang eines Items oder SubItems im RecView beenden oder abbrechen

Details

Das Ereignis wird aufgerufen, wenn der Editiervorgang für das aktuelle Item oder SubItem beendet oder abgebrochen wird. In diesem Ereignis kann man den geänderten Wert in den Datensatzpuffer übertragen.

Definition des Funktionskopfes:

sub EvtLstEditEndItem
(
aEvt : event; // Ereignis
aGroup : handle; // Gruppe
aRecBuf : handle; // Datensatzpuffer
aEdit : handle; // Eingabeobjekt
aAbort : logic; // Abbruch-Anforderung
aResult : int; // Eingabe-Resultat
)
: logic; // Wird nicht ausgewertet
{
return(true);
}

aEvt

In diesem Parameter vom Typ event wird unter anderem der Deskriptor des auslösenden Objektes, d. h. das Objekt, in dem die Ereignisfunktion eingetragen wurde, übergeben.

aGroup

In diesem Parameter wird der Deskriptor der editierten Gruppe übergeben. Die Eigenschaften SelectorItem und SelectorSubItem sind entsprechend gesetzt, so dass das zu editierende Item identifiziert werden kann.

aRecBuf

Hier wird der Datensatzpuffer mit den aktuellen Feldinhalten des Datensatzes übergeben.

aEdit

In diesem Parameter wird das Eingabeobjekt übergeben, dass zum Editieren bereit gestellt wurde. Der Inhalt des Eingabeobjektes muss manuell in die Datensatzpuffer übernommen werden.

aAbort

Dieser Parameter ist auf true gesetzt, wenn der Editiervorgang durch Verlassen des Eingabeobjektes oder durch Druck der Esc -Taste abgebrochen wurde. Wird die Bearbeitung mit der in EditKeyEnd definierten Taste oder Tab beendet, wird false übergeben. In diesem Fall möchte der Anwender eine Änderung durchführen. Durch die Verwendung der Tab -Taste kann in das nächste zu bearbeitende Item gesprungen werden, mit Umschalt + Tab in das vorherige.

aResult

Über diesen Parameter kann ein Wert zurückgegeben werden, der definiert, ob im nachfolgenden Ereignis EvtLstEditEndGroup der Parameter aAbort = false (_WinRvwGroupEditContinue) oder true (_WinRvwGroupEditAbort) übergeben wird. Standardmäßig ist aResult mit Äquivalent von dem Parameter aAbort aus diesem Ereignis vorbelegt.

Resultat

Der Rückgabewert der Funktion wird nicht ausgewertet.

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.

Beispiel:

sub EvtLstEditEndItem
(
aEvt : event; // Ereignis
aGroup : handle; // Gruppe
aRecBuf : handle; // Datensatzpuffer
aEdit : handle; // Eingabeobjekt
aAbort : logic; // Abbruch-Anforderung
aResult : int; // Eingabe-Resultat
)
: logic; // Wird nicht ausgewertet

{
if (!aAbort and aGroup->wpSelectorItem = 1 and
aGroup->wpSelectorSubItem = 1)
{
aRecBuf->faNewsTitle # aEdit->wpCaption;
}

if (!aAbort and aGroup->wpSelectorItem = 2 and
aGroup->wpSelectorSubItem = 1)
{
aRecBuf->fdNewsDate # aEdit->wpCaptionDate;
}

if (!aAbort and aGroup->wpSelectorItem = 1 and
aGroup->wpSelectorSubItem = 4)
{
// Rtf-Text in Datensatzpuffer übertragen
aEdit->wpDBFieldName # 'fnNewsText';
aEdit->WinRtfSave(_WinStreamBufField, _WinRtfSaveRtf);
aRecBuf->fnNewsText # fnNewsText;
}

return(true);
}

Im ersten Fall wird der Inhalt für das Datenbankfeld 'faNewsTitle' mit dem Inhalt des Eingabeobjektes aktualisiert. Im zweiten Fall ein Datumsfeld (fdNewsDate) aktualisiert und im dritten Fall der Inhalt des Rtf-Textes übernommen.