Hallo.
Wichtiges vorweg!
Im Anhang befindet sich eine Datei. Aber BITTE zu erst den folgenden Text lesen, auch wenn es sehr viel ist. Das dient dem gesamten Verständnis.
Also los gehts!
Natürlich kommt es immer auf den Umfang des Dialog an, und ob auch z.B. Bilder bei der Hilfe mit eingebunden werden sollen. Aber ich war mal einen ganz anderen, und wie ich finde "einfacheren" Weg gegangen.
Okay, der Vorschlag von Stephan mit dem PDF, das natürlich in der Datei eingebettet sein muss, ist auch eine .... wie soll man sagen .... Alternative oder eine andere Möglichkeit. Die natürlich auch ihre Vorteile hat.
Also zu meiner Methode (oder wie man das nun nennen will).
Da man ja schon einen Dialog erstellt hat, kann man das doch auch für die Hilfe machen.
Das Grundprinzip ähnelt einer "Kontext-Hilfe". Das heisst, drückt man im Dialog auf einen Button der als Hilfe klar und deutlich markiert/hervorgehoben ist, dann popt ein weiteres Dialogfenster auf. Hat man die Hilfe gelesen, dann kann man es einfach durch einen OK-Button wieder schließen.
Besteht der Dialog aus mehreren Seiten, dann bekommt jede Seite ihren eigenen Hilfe-Button. Und dabei ruft dieser Hilfe-Button nur die Hilfe-Seite auf, die nur für diese Seite zuständig ist.
Und ferner, sollte eine Hilfe-Seite in verschiedene Themen aufgeteilt sein, aber noch immer nur für diese eine bestimmte Seite gültig sein, dann kann man die Hilfe-Seite doch so gestallten, das man erkennt:
"A-ha! Da stehen ja noch weitere Unterkategorien zur Verfügung."
Ich muss gestehen, für eine rein Text basierende Hilfe geht das schon, aber der im Vorfeld zu leistende Arbeitsaufwand kann schon "fummelig" sein.
Kommen wir zum Makro und die für dieses Thema hier wichtigen Dialoge.
BASIC-Modul *Anfang*
Die übliche Variablen deklaration und defenition.
Zeile 70 bis 78 wird ein Button-Array befüllt.
BASIC-Modul *HilfeDialoge*
Ist für alle Hilfe-Seiten für alle Dialog-Seiten zuständig.
DIALOG-Modul *DlgFarbeHilfe*
Ist etwas anders "gestylt", da die dazugehörige Dialog-Seite und das dazugehörige Tabellenblatt andere Rahmenbedingungen setzen.
Es ist aber ein mehrseitiger Dialog. Das sieht man aber schon alleine an den verschiedenen Themen "Reiter", die so aufgebaut und gestylt sind, als wären es Karteireiter.
DIALOG-Modul *HilfeSeiten*
Hier gilt fast das gleiche wie bei dem anderen Dialog vorhin. Hier ist aber das Styling etwas anders, weil etwas größer.
Für beide Dialoge bezüglich "Reiter" gillt das folgende.
Diese Reiter sind recht primitiv gehalten, aber die Arbeit die dahinter steckt, war nicht wenig. Denn erst wenn man den Hauptdialog vom Tabellenblatt aus her aufruft, kann man das System ehern erkennen, und erahnen was da für eine Fummelige Arbeit dahinter steckt. Denn wenn man auf einen anderen, als die Grundeinstellung vorgibt, drauf klickt, ändert sich nicht nur die Farbe des Textfeldes. Nein! Auch die "Verbingslasche" vom Textfeld zum Reiter wandert mit und ändert die Farbe.
Wie gesagt, prinzipiell ein einfaches System, aber doch mit reichlich Arbeit verbunden. Schaut man sich die einzelnen Dialog-Seiten der Hilfe genauer an, dann sieht man wie ich das gelöst habe. Klar könnte man auch die "Verbingslaschen" per Makro Ein- beziehungsweise Ausschalten, aber das war mir zu dem Zeitpunkt einfach zu blöde und mit noch mehr Arbeit verbunden. Und derjenige für den die Dateien vorgesehen waren, war mit dieser Lösung sehr Glücklich.
Ach ja! Noch was wichtiges!
Die angehängte Datei ist nur eine
DEMO!!!
Das heisst:
Mit ihr kann alles gemacht werden wie mit dem kompletten Dateien-System. Blos der eigentliche Zweck DIESER Datei kann nict vollends ausgeführt werden, weil dazu eine weitere, eine 2. Datei dazugehört. Wenn ihr also auf der Dialog-Seite mit dem Titel "Datei erstellen" seit, kommt es früher oder Später zu Fehlermeldungen die ich erstellt habe, wenn ihr bestimmte Button Aktionen ausführt.
Nein!
Das is keine mutwillige Demo-Einschränkung, sondern das ist im Original genau so. Denn es dient unter anderem dazu die versehentlich schon geöffnete Datei die benötigt wird vor der Überschreibung zu schützen, und auch das nur die passende Datei geöffnet wird. Will man beispielsweise eine Bilddatei öffnen, bedeutet das Fehlermeldung. Es ist so gesehen ein mehrfacher Schutzmechanismus.
Erstellt hatte ich die Datei unter OO.o 3.2.1, unter AOO bis zur 4.x.x (hatte verschiedene getestet gehabt, deshalb x), und unter LO 5.1.5.2 gabs bis jetzt keine Ptobleme. Ich kann aber nicht sagen wie das bei LO über der 5.1.x.x hinaus aussieht.
Und falls mich jemand fragen würde, warum ich die gesamte Datei angehängt habe, und nicht eine verkürzte Beispieldatei?
So sei folgendes dazu gesagt.
Ich hatte die Datei halt griffbereit. Es war mir jetzt einfacher und schneller "ein paar" Zeilen zu schreiben, als eine extra Datei zu erstellen. Und ist doch auch mal ganz nett, wenn die Zusammenhänge in einer Datei besser zu sehen und zu verstehen sind
Klar ist so ein Hilfe-System, wie das meinige, auf eine gewisse Art und Weise auch recht anspruchsvoll. Aber prinzipiell braucht man doch nur ein extra BASIC-Modul das allein nur für die Hilfe-Dialoge zuständig isz, und ein zusätzliches DIALOG-Modul wo der Hilfe-Dialog untergebracht ist. Und diese beiden Module kann man doch auch in anderen Dateien einbinden, also erst Exportieren und dann Importieren. Nur mal so als Anregung.
Viel Spaß beim Makro stöbern, auch wenn es nicht schön dokumentiert ist.
Gruß
balu