hi,
ich habe mir also nun die
STRUCTURE angelegt ( mit ot4xb ) und es ausprobiert.
es funktioniert zwar noch nicht "richtig" aber es reicht um evtl. einen "Denkfehler" zu offenbaren.
wir sind ja nicht mehr bei Windows V1.x wo es noch keine "überlappenden" Dialoge gab ...
an der Stelle wo ich das "Drop" machen möchte muss ja nicht "nur" 1 "Fenster" liegen ... es könnte "darunter" ja noch ein "Fenster" sein ...
ich müsste also eine "Z-Ebene" einbauen die "erkennt" wie die "Fenster" angeordnet sind um das "oberste" was passt auszuwählen.
... oder ist die Taskliste "sortiert" ? ich meine das dass "aktive" Programm doch als oberstes aufgelistet wird ... und der "Rest" dann "nach unten" ?
Nachtrag : ich habe wohl "Glück" denn die Z-Reihenfolge "scheint" tatsächlich zu stimmen
als "Beweis" bringe ich das "Fenster" nun in den Vordergrund ... jetzt muss "nur" noch das "drop" eingeleitet werden ...
2nd Nachtrag : das war nicht ganz ins schwarze ... irgendwie verstehe ich die Koordinaten nicht
- WINDOWPLACEMENT.JPG (61.69 KiB) 5074 mal betrachtet
Code: Alles auswählen
c := oWin:rcNormalPosition
d := c:Left
e := c:Top
f := c:Right
g := c:Bottom
IF aDropPos[1] >= c:Left .AND. aDropPos[1] <= c:Right .AND. ;
aDropPos[2] >= c:Top .AND. aDropPos[2] <= c:Bottom
lRet := .T.
ELSE
MSGBOX("nicht drin "+cWind+CRLF+;
VAR2CHAR(aDropPos)+CRLF+;
VAR2CHAR(a:x)+" "+VAR2CHAR(a:y)+CRLF+;
VAR2CHAR(b:x)+" "+VAR2CHAR(b:y)+CRLF+;
VAR2CHAR(d)+CRLF+;
VAR2CHAR(e)+CRLF+;
VAR2CHAR(f)+CRLF+;
VAR2CHAR(g) )
ENDIF
wer hat eine Idee ?