Dynamisches Anpassen und Positionieren von Formularen

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

keyboard-billy
***
Beiträge: 53
Registriert: Mo, 27.11.2006 15:17
Wohnort: Nürnberg
Kontaktdaten:

Dynamisches Anpassen und Positionieren von Formularen

Beitrag von keyboard-billy »

Hi Leutz,

ich möchte gerne ein Formular meiner Datenbank nach dem anklicken zentral im Bildschirm und in einer Bestimmten Größe öffnen. Dabei sollte die zentrale Bildschirmposition unabhängig von der am Rechner eingestellten Auflösung erfolgen.

Ich habe heute schon etwas "herumprobiert" komme aber zu keinem Ergebnis. Mein Proggi funktioniert leider nur in der Basic-IDE. Ich schätze, dass ich das Falsche Objekt auswähle....

Zugegeben, mit der Doku zur objektorientierten Programmierung im Programmierhandbuch von Sun habe ich noch nicht so richig den Durchblick.... :oops:

Was ich in der Basic-IDE gemacht bisher gemacht habe sieht wie folgt aus:

Code: Alles auswählen

Sub setWindowOnStart

  Dim oFrame as Object, oApWin as object, oApWinGr as object

  oFrame = StarDesktop.getCurrentFrame()
  oApWin = oFrame.getComponentWindow()
  oApWinGr = oApWin.getPosSize()

  MsgBox ("Fensterposition (x): " & oApWinGr.X & "px" & Chr$(13) & _
          "Fensterposition (y): " & oApWinGr.Y & "px"& Chr$(13) & _
          "Fensterbreite: " & oApWinGr.Width & "px"& Chr$(13) & _
          "Fensterhöhe: " & oApWinGr.Height & "px")

  MsgBox ("Die Größe des Fensters wird jetzt auf 400x400 Pixel gesetzt.")
  oApWin.setPosSize(oApWinGr.X, oApWinGr.Y, 400, 400, 12)

  MsgBox ("Es werden nun alle Werte zurückgesetzt")
  oApWin.setPosSize(oApWinGr.X, oApWinGr.Y, oApWinGr.Width, oApWinGr.Height, 12)

End Sub
Ich wollte die Routine mittles Formulareigenschaften->BeimLaden... automatisch starten.

Ich bekomme nach dem Ausführen die Meldung "BASIC-Laufzeitfehler. Objektvariable nicht belegt."

Der Fehler liegt in der Zeile mit der Anweisung

Code: Alles auswählen

oApWin = oFrame.getComponentWindow()
Ich komme einfach nicht weiter.
Greets,
Billy
... im Prinzip ist alles einfach. Vorausgesetzt man weiss, wie's geht!