AfWinAbmSelect
Mit dieser Anweisung wird ein Dialog zur Auswahl von einer oder mehreren Arbeitsmappen aufgerufen. Im Parameter (handle1) wird der Deskriptor des übergeordnten Fensters angegeben. Hier kann die Variable gAFActParentDlg verwendet werden. (int2) beinhaltet eine oder mehrere der folgenden Optionen:
sAfOptAbmShowAsRoot | Die in (int4) angegebene Arbeitsmappe wird in dem Fenster als Root-Arbeitsmappe angezeigt. |
sAfOptMultiselect | Es können mehrere Arbeitsmappen ausgewählt werden. |
sAfOptEdit | Die Arbeitsmappenstruktur kann verändert werden. |
sAfOptNoCheckRights | Bei der Darstellung des Arbeitsmappenbaums werden die vergebenen Berechtigungen nicht berücksichtigt. |
Bei der Angabe mehrerer Optionen müssen diese mit | verknüpft angegeben werden. Soll keine Option angegeben werden, muss 0 übergeben werden.
Ist eine Mehrfachauswahl zulässig (sAfOptMultiselect), muss in (int3) ein Deskriptor einer CTE-Liste übergeben werden. Der Deskriptor muss zuvor mit der Anweisung AfCteOpen() erzeugt werden. Nach dem Aufruf der Funktion befindet sich für jede ausgewählte Arbeitsmappe ein Element in der Liste. Die Nummer der Arbeitsmappe kann über die Eigenschaft Name ermittelt werden.
Die übergebene Liste kann schon vor dem Aufruf Elemente beinhalten und so eine Vorauswahl getroffen werden, die vom Benutzer korrigiert werden kann.
Ist die Option sAfOptMultiselect nicht gesetzt, muss in (int3) eine Variable übergeben werden. Nach dem Aufruf steht die Nummer der selektierten Arbeitsmappe in der Variablen.
Wurde der Dialog mit der Schaltfläche [Ok] beendet, wird der Wert _WinIdOk zurückgegeben. Bei einem Abbruch erfolgt die Rückgabe von _WinIdCancel.
Beispiel:
tCteList # AfCteOpen(_CteList); tErr # AfWinAbmSelect(gAFActParentDlg,sAfOptMultiselect,var tCteList); if (tErr = _WinIdOk) { for tItem # tCteList->CteRead(_CteFirst) loop tItem # tCteList->CteRead(_CteNext,tItem) while (tItem > 0) { ... } } tCteList->AfCteCloseAll();