Topic : TOS - das Betriebssystem Author : Version : tos.hyp (5. März 2013) Subject : Programmieren/Atari Nodes : 3001 Index Size : 93602 HCP-Version : 5 Compiled on : Atari @charset : atarist @lang : @default : Titel @help : @options : +g -i -s +x +zz -t4 @width : 70 View Ref-File15.13.3.1.3 xfsl_init TOS Dieser Aufruf bringt nicht nur den Fontselektor auf den Bildschirm, er bestimmt auch, welche Fonts angezeigt werden sollen, ob ein User-Popup verwendet wird und einiges mehr. int xsfl_init (int vdihandle, xFSL_PAR *xpar ); Die beiden Parameter bedeuten: vdihandle Hier übergeben Sie, wie schon beim vereinfachten Aufruf, das Handle einer von Ihrem Programm bereits geöffneten virtuellen VDI-Workstation oder einfach eine Null. Wenn Sie ein gültiges Workstation-Handle übergeben, wird der Fontselektor den auf dieser Workstation aktuellen Font übernehmen und anzeigen - sofern er duch die Font- flags (in der xFSL_PAR-Struktur) überhaupt zur Auswahl gestellt wird. Ist dies nicht der Fall, wird der Fontselektor einen Font aus den zur Verfügung stehenden auswählen und anzeigen. Übergeben Sie als Workstation-Handle eine Null, dann wird der Font aus der PFONTINFO-Struktur (auf die ein Zeiger in der xFSL_PAR-Struktur zeigt) übernommen und angezeigt. Wenn Sie ein VDI-Workstation-Handle übergeben, wird der ausgewählte Font auf dieser Workstation auch gleich eingestellt. xpar Dies ist ein Zeiger (d.h. die Adresse) auf eine xFSL_PAR-Struktur, die alle weiteren Angaben für den Fontselektor enthält. Wegen der Vielzahl der Möglichkeiten wurde dieser Struk- tur ein eigener Abschnitt gewidmet. Für die Returncodes der Funktion gilt wieder: Ein negativer Rückgabe- wert deutet auf einen Fehler hin. Positive Werte haben hier eine etwas abweichende Bedeutung: Eine 0 heißt, der Fontselektor wurde (erfolg- reich) als modaler Dialog geöffnet. Andere positive Werte entsprechen dem Fensterhandle des geöffneten Fontselektors. Somit können Sie das Fenster des Fontselektors beispielsweise bei einem AV-Server anmelden. Im Erfolgsfalle (Rückgabe größer oder gleich 0) sollten Sie sich das Handle in einer Variablen merken, da es für die folgenden Aufrufe (xfsl_event und xfsl_exit) noch benötigt wird. Hinweis: Wenn der Fontselektor als Fenster dargestellt werden sollte, xfsl_init aber den Fehler xFS_NO_WINDOW liefert (kein Fenster mehr frei), dann sollte möglichst versucht werden, den Fontselektor wenig- stens als Dialog darzustellen (Kontrollflag CC_WINDOW löschen und nochmals xfsl_init aufrufen). Merke: Der Anwender will einen Fontselektor, keine Fehlermeldung.