Popup positionieren

15/10/2009 - 17:10 von Thomas | Report spam
Hallo NG,

ich bitte um Hilfe bei folgender Frage :

Es gibt ein popup FormA mit 2 Controls ctl1 & ctl2. Die FormA ist
maximiert geöffnet.

Es wird darüber ein zweites popup FormB geöffnet. Diese FormB (height
und width konstant) soll positioniert werden:

forms!B.left = forms!A.ctl1.left
forms!B.top = forms!A.ctl1.top
- danach -
forms!B.left = forms!A.ctl2.left
forms!B.top = forms!A.ctl2.top

Das Verschieben auf der x-Achse (left) ist o.k.
Das Verschieben auf der y-Achse (top) ergibt falsche Werte.
Auch bei y=0 befindet sich die FormB nicht an der Oberkante des
Fensters sondern immer ein Stück darunter. Erst mit negativen Werten
làßt sich der obere Rand erreichen.

Woher kommt das und kann man den y-Versatz irgenwie berechnen ?

Der Thread aus Mai zum Thema hat mich nicht wirklich weitergebracht.

Konfiguration P4, XP SP(3), Office 2003. Vielen Dank schon jetzt.

Gruß aus Hamburg. Thomas
 

Lesen sie die antworten

#1 Oliver Straub
15/10/2009 - 18:57 | Warnen spam
Hallo Thomas,

forms!B.left = forms!A.ctl1.left
forms!B.top = forms!A.ctl1.top
- danach -
forms!B.left = forms!A.ctl2.left
forms!B.top = forms!A.ctl2.top

Das Verschieben auf der x-Achse (left) ist o.k.
Das Verschieben auf der y-Achse (top) ergibt falsche Werte.



liest sich irgenwie komisch, aber wenn's funzt.

control.top (left) bezieht sich auf den Formularbereich in dem das Control
abgelegt ist. Wenn Du die Position im Hauptfenster ermitteln willst, musst
Du noch das me.WindowTop (...Left) dazu zàhlen (ggf. weitere Bereich
berücksichtigen).

me.top (left) gibt's bei mir gar nicht.

me.move me.windowleft + forms!A!ctl2.left, me.windowtop + forms!A!ctl2.top


Gruss
Oliver

Ähnliche fragen