CwFindDeeperObject

Sintassi:

hObject = CwFindDeeperObject hPrevObj, nX, nY

        hObject         (handle) Handle dell'oggetto richiesto, oppure
                        null handle se non ve ne sono

        hPrevObject     (handle) Handle dell'oggetto sotto il quale guardare

        nX              (numerico) Coordinata orizzontale del punto da osservare

        nY              (numerico) Coordinata verticale del punto da osservare

Descrizione:

Questa funzione ritorna lo handle all'oggetto più avanzato sotto quello riferito da "hPrevObj" e coprente il punto nX, nY. Usare questa funzione è simile a ciclare tra gli elementi sotto il puntatore del mouse tramite click ripetuti del tasto sinistro del mouse su una posizione. Alternativamente, potrebbe essere pensata coem una versione di CwFindNextObject che salta tutti gli oggetti che non occupano il punto a nX, nY.

Un programma può ciclare attraverso tutti gli oggetti nella vista corrente che occupano il punto dato (nX, nY) chiamando ripetutamente CwFindDeeperObject, con lo handle ritornato dalla precedente chiamata come argomento.

Se "hLastObj" è il null handle, l'oggetto superiore occupante il punto dato viene ritornato e se si tratta dell'oggetto più in profondità tra quelli che occupano il punto dato (l'ultimo della sequenza), viene ritornato un null-handle.

Questa funzione si comporta come CwFindShallowerObject, con la differenza che l'ordine in cui gli oggetti vengono ritornati tra le chiamate è invertito.

Esempio:

/* Trova tutti gli oggetti sotto un punto e ne salva gli handles nello stem 'obj'. */

call CwGetMousePosition( pos );
count = 1

o = CwFindDeeperObject(0, pos.x, pos.y)
do while CwIsHandleValid(o)
        obj.count = o
        count = count + 1
        o = CwFindDeeperObject(o, pos.x, pos.y)
        end

Note:

Quando viene raggiunta la fine della sequenza (per esempio, il primo oggetto), alla successiva chiamata verrà ritornato il null handle.

Funzioni per NOME

Indice

Funzioni per SCOPO