Seite 1 von 1

Dialogfeld platzieren

Verfasst: Mi, 06.02.2008 07:05
von mike6
Hallo,

beim Start eines Dokuments öffne ich über

Code: Alles auswählen

Sub DialogMaske
	DialogLibraries.LoadLibrary("Standard")
	oDialog = CreateUnoDialog(DialogLibraries.Standard.Dialog1)
	oDialog.Execute()
End Sub
einen Dialog.
Ich möchte nun erreichen, dass das Dialogfenster immer zentriert auf dem jeweiligen
Bildschirm erscheint.
Wie ergänze ich den Code ?

mfg
mike

Re: Dialogfeld platzieren

Verfasst: Mi, 06.02.2008 08:15
von Toxitom
Hey Mike,

also, eigentlich ist der Dialog zentriert (über dem Dokument, das aufgerufen wird).
Ansonsten kannst du die Position des Dialoges vor dem execute()-Befehl natürlich setzen. Um einen zentrierten Dialog zu erhalten, müsstest du zunächst die Bildschirmbreite auslesen (wird in Pixeln geliefert), dann die aktuelle Dialogbreite (wird in MA´s - Map Appfont) geliefert, dann musst du beide Werte auf ein gleiches Mass umrechnen - das ist nicht ganz einfach ;-) - die Mitte nehmen, daraus dann den rechten, oberen Punkt des Dialoges bestimmen, und dann mit setPosSize() genau diesen rechten oberen Punkt setzen. Hier gelten dann wieder Pixel als Einheit.

Willst du wirklich den Aufwand betreiben???

Viele Grüße
Thomas

Re: Dialogfeld platzieren

Verfasst: Fr, 08.02.2008 06:48
von mike6
Hallo Thomas,

habe mir das einfacher vorgestellt.
Vielen Dank für Deine Antwort.


mfg
mike