Formular als "Fullscreen" (= Ganzer Bildschirm)

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Formular als "Fullscreen" (= Ganzer Bildschirm)

Re: Datensatz aus Tabelle (Formular 1) in Formular 2 auseles

von ejomi » Mo, 20.08.2012 16:57

Gast hat geschrieben:Hallo zusammen
...
Lea
Hallo Lea!

Diese "Antwort" gehört nicht zu meiner obigen Frage, sondern ist ein neues Thema!!
Seltsamerweise existiert die gleiche Anfrage bereits als eigenes Thema unter "Datensatz aus Tabelle (Formular 1) in Formular 2 auselesen".

Hat sich hier "Lea" geirrt (was durchaus sein kann, wie der Verlauf des oben verlinkten Themas zeigt) oder haben wir hier mal wieder ein Problem mit dem Foren-Programm?? (Zur Erinnerung an die Foren-Betreiber: die Suchfunktion geht fast nie und ich bekomme gelegentlich sogar Info-Mails vom Server, wonach angeblich Antworten auf meine Themen eingegangen seien - obwohl nix passiert war. Dieses Foren-Programm hier hat zweifellos so seine Macken!).

Nun Lea - wenn ich hier schon schreibe, dann auch eine Antwort:
F3K Total hat Dir >> hier bereits eine perfekte Lösung (sogar mit einem fertigen Beispielprogramm zum download) angeboten.

Deine unbedarfte Antwort daraufhin, wonach Du erst "nach vielem Hin und Her" den Download geschafft hast und dann trotzdem die Formulare nicht richtig öffnen konntest läßt darauf schließen, dass Du nicht nur mit OpenOffice kaum klar kommst sondern selbst im Umgang mit Computern erhebliche Schwierigkeiten hast. Ich empfehle dringend entsprechende Grundlagenkurse, denn: Das Beispielprogramm von F3K Total läßt sich problemlos herunterladen, läuft tadelos und erklärt auch unmißverständlich das von Dir beschriebene Problem.

Meine Vermutung: Die Makro-Sicherheitsrichtlinien Deines OpenOffice sperren die Ausführung von Makros. Wie und wo man das einstellt, überlasse ich Deinem Forschergeist - viel Spaß beim Lernen!

Gruß: ejomi

Re: Formular als "Fullscreen" (= Ganzer Bildschirm)

von ejomi » Mo, 09.07.2012 15:32

RobertG hat geschrieben:... finde aber keinen Ansatzpunkt, wie ich an die Eigenschaft "WindowAttribute" komme.
Erst mal: Danke Robert - zumindest scheint es da irgendwo einen Weg zu geben.

Ich habe jetzt herausbekommen, dass erst mal ein "WindowsDescriptor" als Uno-Strukt bereitgestellt werden muss.

Diesem Strukt kann man dann über seine diverse Klassennamen (z.B. ".Type", .WindowServiceName", ".Bounds" usw.) die gewünschten Fensterattribute vorgeben. In meinem gefragten Fall wäre das die Klasse ".WindowAttributes".

Diesen Klassen kann man diverse Konstanten binär aufaddieren. Für mein Problem der ".WindowAttributes" kämen z.B. folgende Konstanten zum Einsatz: "com.sun.star.awt.WindowAttribute.MINSIZE", "com.sun.star.awt.WindowAttribute.OPTIMUMSIZE", "com.sun.star.awt.WindowAttribute.FULLSIZE" usw. usw.

Das ganze sieht dann ungefähr so aus:

Code: Alles auswählen

oWinDscr = CreateUnoStruct("com.sun.star.awt.WindowDescriptor")

With oWinDscr
	.WindowAttributes = 0
	.WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SHOW
	.WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.FULLSIZE
End With
Dass sich hinter dem kompliziert anmutenden Geschreibsel "com.sun.star.awt.xxx.xxx" nichts weiter wie eine simple, numerische Konstante verbirgt, habe ich jetzt erst herausbekommen (läßt sich ganz einfach mit einer MsgBox prüfen)!

Lt. BASIC-Handbuch von Th.Krummbein lassen sich alle Einstellungen eines Fensters über die Methoden des Frame- bzw. ContainerWindows-Objekts einstellen. Ich bin aber nirgendwo fündig geworden, an wecher Stelle ich nun den hübschen "WindowsDescriptor" übergeben kann.

Irgendwelche Ideen?

Gruß: ejomi

Re: Formular als "Fullscreen" (= Ganzer Bildschirm)

von RobertG » Sa, 07.07.2012 08:51

Hallo Ejomi,

ich habe noch etwas in der API gesucht, finde aber keinen Ansatzpunkt, wie ich an die Eigenschaft "WindowAttribute" komme. Dort ist FULLSIZE verzeichnet (..com/sun/star/awt/WindowAttribute.html).

Gruß

Robert

Re: Formular als "Fullscreen" (= Ganzer Bildschirm)

von ejomi » Do, 05.07.2012 09:18

Hallo liebe Community!

Nun habe ich den "gelöst"-Vermerk aus meinem Thread wieder herausgenommen, weil meine Ursprungsfrage nach wie vor offen ist: Wie kann man die Menü-Funktion "Ganzer Bildschirm" (standardmäßig auch über die Tastenkombination [Strg]+[Shift]+J erreichbar) mit BASIC steuern.

Das "Wieso" und "Warum" muß an dieser Stelle nicht weiter diskutiert werden.

Einen schönen Tag für alle, wünscht:
ejomi

Re: [gelöst] Formular als "Fullscreen"

von RobertG » Mi, 04.07.2012 19:45

Hallo Ejomi,

abgesehen davon, dass ich für so ein Vorhaben kein Windows-Betriebssystem nutzen würde sondern ein rudimentäres X-Fenster-System von Linux:
Warum blendest Du dann nicht einfach dies Symbolleiste "Vollbild" aus? Dann hast Du doch all das, was Du möchtest, obwohl ich da noch das Problem des Kontextmenüs sowie des Tastaturkürzels sehen würde.

Gruß

Robert

Re: [gelöst] Formular als "Fullscreen"

von ejomi » Mi, 04.07.2012 17:26

Robert - Danke für den Hinweis.

Allerdings wenn die Symbolleiste "Vollbild" (von Dir "Popup" genannt) einmal geschlossen wurde, taucht sie zukünftig nie wieder auf. Dem Benutzer bleibt dann nur noch der Ausweg über das Kontextmenü der rechten Maustaste - und das ist gut so!
RobertG hat geschrieben:Als Nutzer in einem fensterbasierten System erwarte ich, dass sich die Software diesem System anpasst
... klar doch - das ist ein sehr verbreiteter Standpunkt, der aber aus Sicht eines Administrators (der Sicherheitsinteressen in den Vordergrund stellt) auch ganz anders bewertet werden kann!

Ich will hier keine philosophische Diskussion anstoßen (das wird in diesem Forum ohnehin schon viel zu oft gemacht), sondern beim Thema bleiben: Bei dem ganzen "Fensterln" haben die OS-Entwickler inzwischen völlig vergessen, dass es neben Privatanwendern auch noch Firmenarbeitsplätze gibt, bei denen man auf Bonbon-bunte Knöpfchen und hype designte Oberflächen und halb-transparente Fensterrahmen gerne verzichten kann. Dort sollte nämlich der Betriff "Arbeitsplatz" wörtlich genommen werden - auch wenn es vielleicht für manche Ohren etwas altmodisch/preußisch klingt. Beispiel: Eine Schreibkraft baucht nur ein Werkzeug um ihre Briefe zu schreiben aber weder "Solitär" noch "Minesweep"– da würde also z.B. der OO-WRITER völlig ausreichen. Na, dann versuche mal ein MS-System zu installieren, das wirklich nur eine einzige Anwendung zur Verfügung stellt ... selten so gelacht!

In meinem Fall habe ich vor, im Empfangsraum/Besucherwartebereich unserer Firma eine OO-basierte Datenbank unserer Produkt- und Dienstleistungspalette permanent laufen zu lassen. Damit kann sich dann der interessierte Besucher während seiner Wartezeit informieren und sogar kleine Anfragen über den lokalen Mail-Server abschicken, wenn er möchte. Aber eben nicht mehr! Kein Windows-Desktop, keine Spielmöglichkeiten, kein Firlefanz! Was ist daran auszusetzen?

Natürlich kann eine Vollbild-Anwendung nicht die Sicherheits-Richtlinien auf OS- bzw. Domänen-Ebene ersetzen aber es verleitet eben auch nicht zur Neugier - und nur das ist der Sinn der Sache!

Fazit: Eine Vollbild-Darstellung hat durchaus seine Daseinsberechtigung und muß nichts Schlimmes sein.

Gruß: ejomi

Re: [gelöst] Formular als "Fullscreen"

von RobertG » Mi, 04.07.2012 15:55

Hallo Ejomi,

auch der Code zum Fullscreen bietet natürlich den Ausstieg aus diesem Fullscreen - das Popup dazu bleibt sichtbar, und da aus gutem Grund. Schließlich soll der Nutzer eine Ausstiegsmöglichkeit für diese Einstellung besitzen.
Als Nutzer in einem fensterbasierten System erwarte ich, dass sich die Software diesem System anpasst und nicht eigensinnig das System sperrt. Ich muss daraus einen Ausstieg haben können. Den gibt es z.B. beim Fullscreen unter Firefox über F11, bei anderen Programmen über ESC... Die einzige Software, der ich einen Verstoß dagegen erlauben würde, ist die, die als Sicherheit nach z.B. 10 Minuten Untätigkeit den Bildschirm sperrt und danach beharrlich auf eine Passworteingabe für den entsprechenden User wartet - sofern ich das nicht ausgestellt habe.
Vielleicht bietet es sich bei Deiner Problematik dann doch eher an, das Fenster z.B. der *.odb-Datei auf "unsichtbar" zu schalten. Aber Vorsicht: Dann läuft natürlich Base weiter, auch wenn das Formular über den Windowsmanager geschlossen wurde.

Gruß

Robert

Re: Formular als "Fullscreen"

von ejomi » Mi, 04.07.2012 15:26

F3K Total hat geschrieben:Hi, nicht ganz,
Hallo an Robert und allen Anderen - ich muß leider noch mal nerven:

Zu früh gefreut - vielleicht habe ich mich auch etwas mißverständlich ausgedrückt: Mit "Fullscreen" meinte ich den sogenannten "Vollbildschirm", den man von Hand im Hauptmenü einschalten kann (unter "Ansicht", vorletzte Menüfunktion "Ganzer Bildschrim" [Strg]+[Shift]+J).

Der von F3K Total veröffentlichte Code steuert nur das MS-Windows Verhalten "Maximieren". Dabei wird zwar das Fenster incl. Fenstertitel und System-Schaltflächen auch auf Bildschirmgröße gezoomt, aber es kann über seine Ränder und Schaltflächen nach wie vor angepasst, minimiert oder sogar geschlossen werden.

Die "Vollbildschirm"-Funkion ist hervorragend für Standalone-Anwendungen geeignet, wenn man z.B. dem Benutzer nichts anderes erlauben will, als eben nur mit dem gezeigten Formular zu arbeiten.

Fazit: Die "elegante" Lösung für mein Fullscreen-Problem steht nach wie vor aus - schade!

Noch irgend eine Idee??

Hinweis: Zur Vollständigkeit (für solche, die aus Sicherheitsgründen noch ältere OO-Versionen nutzen) muß noch nachgetragen werden, daß die Methode "IsMaximized" und "IsMinimized" des Window-Objekts erst ab Version OO-3.3 bzw. LibO-3.5 zur Verfügung steht!

Grüße aus dem schwül-warmen Dresden:
ejomi

Re: Formular als "Fullscreen"

von ejomi » Mi, 04.07.2012 10:52

F3K Total hat geschrieben:Hi, nicht ganz, aber fast
That's it ! Danke Robert - das Leben macht doch noch einen Sinn :shock:

Einen schönen Tag noch: ejomi

Re: Formular als "Fullscreen"

von F3K Total » Di, 03.07.2012 23:13

Hallo Robert,
ich habs nur so schnell gefunden, weil ich gestern in Sachen "Gundo" danach gesucht hatte ...
Gruß Rik

Re: Formular als "Fullscreen"

von RobertG » Di, 03.07.2012 22:22

Danke für diese Informationen, ich habe auch daran rumgerätselt und das jetzt ein einem anderen Thread weitergeben können:
http://www.libreoffice-forum.de/viewtop ... =10&t=9980
Bei dem, was in der API so drin steht finde ich manchmal den Wald vor lauter Bäumen nicht.

Gruß

Robert

Re: Formular als "Fullscreen"

von F3K Total » Di, 03.07.2012 21:24

Hi, nicht ganz, aber fast:

Code: Alles auswählen

sub S_MaximizeFrame
    oframe=Thiscomponent.currentcontroller.frame
    owindow = oframe.getContainerWindow()
    	If Not IsNull(oWindow) Then
		oWindow.IsMaximized = True
		'oWindow.IsMinimized = True
    	End If
end sub 
Gruß R

Formular als "Fullscreen" (= Ganzer Bildschirm)

von ejomi » Mo, 02.07.2012 10:42

Einen schönen Tag alle Zusammen!

Um per BASIC ein Formular auf volle Bildschirmgröße zu maximieren habe ich nur die Makro-Recorder Methode mit dem "DispachHelper" gefunden. Gibt es vielleicht eine elegantere Lösung?

Die "DispatchHelper"-Methode:

Code: Alles auswählen

Function Fullscreen(bSwitch As Boolean)
	DIM oDispatcher As Object, Props(0) As New com.sun.star.beans.PropertyValue
	oDispatcher = createUnoService("com.sun.star.frame.DispatchHelper") 
	Props(0).Name = "FullScreen" : Props(0).Value = bSwitch
	oDispatcher.executeDispatch(ThisComponent.CurrentController.Frame, ".uno:FullScreen", "", 0, Props()) 
End Function
Ich hab einfach mal in's Dunkle geschossen und folgende Property - allerdings ohne Wirkung - ausprobiert. Interessanterweise liefert mir aber BASIC dazu keine Fehlermeldung. Könnte da irgendwo der richtige Weg liegen?

Keine Wirkung - aber auch keine Rückmeldung:

Code: Alles auswählen

ThisComponent.CurrentController.Frame.ComponentWindow.setProperty("FullScreen",True)
Wäre Dankbar für jeden Hinweis. Gruß:
ejomi

Nach oben