XBP_ORIGIN_TOPLEFT gesetzt ?
Verfasst: Mi, 03. Sep 2014 8:04
hi,
wie kann ich abfragen ob XBP_ORIGIN_TOPLEFT gesetzt wurde ?
wie kann ich abfragen ob XBP_ORIGIN_TOPLEFT gesetzt wurde ?
Das deutschsprachige Forum für Entwickler in der Xbase-Welt, ein Angebot des Deutschsprachige Xbase-Entwickler e. V.
https://xbaseforum.de/
während die von Jimmy angesprochene Definition festlegt ob {0,0} oben links oder unten links im Fenster ist.ie Instanzvariable : origin definiert den Bezugspunkt für den Parameter <aPos> , der bei der Methode :new() angegeben werden kann. Das ist der Ursprung des Koordinatensystems, auf das sich <aPos> bezieht. Für : origin können nur #define-Konstanten aus XBP.CH eingesetzt werden, die in der folgenden Tabelle aufgeführt sind:
Konstanten für den Bezugspunkt eines Dialogfensters
Konstante Beschreibung
XBPDLG_ORIGIN_OWNER *) Bezugspunkt ist {0,0} vom Owner Fenster
XBPDLG_ORIGIN_SCREEN Bezugspunkt ist {0,0} vom Desktop Fenster
XBPDLG_ORIGIN_MOUSE Bezugspunkt ist die aktuelle Mausposition
*) Standardwert
Code: Alles auswählen
FUNCTION IsOriginTopLeft( oXbp )
LOCAL lRet := .F.
LOCAL oDesktop := APPDESKTOP()
LOCAL aPP
LOCAL nPos
DO WHILE oXbp <> oDesktop
aPP := oXbp:setPresParam()
nPos := ASCAN( aPP, { | a | a[ 1 ] == XBP_PP_ORIGIN } )
IF aPP[ nPos ] [ 2 ] <> NIL
IF aPP[ nPos ] [ 2 ] == XBP_ORIGIN_TOPLEFT
lRet := .T.
ENDIF
EXIT
ENDIF
oXbp := oXbp:setParent()
ENDDO
RETURN lRet