[Allegro] Trick J : message-Box zu schmal - Abhilfe mit JanaS

Bernhard Eversberg ev at biblio.tu-bs.de
Do Aug 9 09:34:20 CEST 2012


Wie Kollege Eger letztens bemerkte, ist in a99 die Hilfetext-Box, die
an verschiedenen Stellen mit F1 kommt, zu schmal. Viele ältere Texte
werden dann unschön umbrochen, z.B. auch die Hilfe für die
Tastenfunktionen, die man mit Alt+c kriegt (Datei he_sp).
Wir haben hin und her überlegt, was getan werden könnte. Leider
ist die Funktion MessageBox(), die in C++ dahintersteckt, in dieser
Sache vollkommen unflexibel, eine Größeneinstellung ist nicht
vorgesehen und auch mit Tricks nicht erreichbar. Und LEIDER ist
das in VC2010 auch nicht anders, wie wir mit Bitternis feststellen
mußten.
Man müßte sich eine eigene Klasse und ein eigenes Unterfenster dafür
ganz neu entwickeln. Aber Moment, kam da die Erleuchtung, sowas haben
wir doch schon: JanaS!

Wir haben schnell mal eben einen FLEX dafür geschrieben, namens
helpj.flx.
Man schriebe z.B.
   X helpj he_sp
und schwupp, zeigt JanaS den Text an. Was den Zusatznutzen hat, daß
man das JanaS-Fenster ganz beiseiteschieben und in a99 weitermachen
kann, Hilfetext immer noch sichtbar, während eine Message-Box erst
zuzuklappen ist bevor man in a99 wieder was tun kann.

Tip: In JanaS gibt's zwar keinen Back-Button, aber mit Alt+Links
(Cursor links) geht es auch. Wenn man JanaS also nicht schließt, sondern
höchstens minimirt, hat man hinterher mehrere Hilfetexte zum vor- und
zurückblättern drin.

Wenn's auf Zustimmung stößt, bauen wir diesen Aufruf an allen Stellen
ein, wo jetzt h-Textdateien vom Programm per F1 u.a. automatisch
aufgerufen werden.

Hier der FLEX, er ist erfreulich kurz:

-----------------------------------------------------------------------------

   helpj.flx : Hilfetext mit JanaS zeigen
   2012-08-09  gedacht fuer alte txt-Dateien, die fuer die MessageBox
    zu breit sind
   Aufruf:  X helpj <name>,  z.B. X helpj he_ix

   Name in $ht kopieren
ins $ht

   Datei in iV einlesen
var "F" P "help\\" $ht
var
if not "" jump htm

var "F" P "help\\" $ht "ger"
var
if not "" jump htm

var "Die Datei " $ht " gibt's nicht
mes
end

:htm
   nach ANSI wandeln (dann stellt's JanaS korrekt dar)
ansi
   Text in $tx speichern
ins $tx

   Datei mit gleichem Namen im html-Ordner anlegen
var P "html\\" $ht
open x
   und Text reinschreiben
   [hier eingreifen, um z.B. anders zu formatieren]
wri $tx
close x
   Datei mit JanaS oeffnen
var $ht
janas






Mehr Informationen über die Mailingliste Allegro