Español
Fuente/ Codesnippets

Controls Controlsmap Desktop Ventana Listen

 
ControlsMap Controls Desktop Ventana Listen

Erzeugt una hPic sowie 6 Listen el una Momentaufnahme aller sichtbaren Ventana

sowie aller en el sichtbaren Fenstern enthaltenen Controls samt Koordinaten

y Ausmaße repräsentieren.

Das hPic es nützlich así uno simplemente por getPixel el Listen-Eintragsnummer

uno Controls a una cierta Bildschirmposition zurückerhält bajo Beachtung

el Z-Achse.

Descargar

Macht de:



dies:


KompilierenMarcaSeparación
 {$cleq}
windowstyle 80
window maxx,maxy
long hPicControlsMap=create("hNewPic",maxx,maxy,$FFFFFF)
long ControlsMapLists=paintControlsMap(hPicControlsMap)//gibt einen speicher mit 6 listenhandles zurück.
drawpic hPicControlsMap,,0;0
print getcount(long(ControlsMapLists,)),"Elemente gefunden."
destroyWindow(long(ControlsMapLists,))//enthält die handles
destroyWindow(long(ControlsMapLists,4))//die x position
destroyWindow(long(ControlsMapLists,8))//die y position
destroyWindow(long(ControlsMapLists,12))//die xx position
destroyWindow(long(ControlsMapLists,16))//die yy position
destroyWindow(long(ControlsMapLists,20))//den typ, 1=fenster 2=control
waitinput
end

nProc paintControlsMap(long hPic){

    long 	\
    lst=createLongsList(),lst2=createLongsList(),\
    hsh=createLongsList(),hsx=createLongsList(),hsy=createLongsList(),hsxx=createLongsList(),hsyy=createLongsList(),hstyp=createLongsList(),\
    rc=globalAlloc(gPTR,16),rc2=globalAlloc(gPTR,16),\
    x,y,xx,yy,cnt,wnd,cnt2
    enumWindows(procAddr(paintControlsMap.enumProc),lst)
    cnt=getcount(lst)

    whileloop cnt-1,,-1 {

        wnd=SendMessage(lst,lb_getitemdata,loop,)
        getWindowRect(wnd,rc)
        sendMessage(hstyp,lb_addstring,,1)
        sendMessage(hsh,lb_addstring,,wnd)
        sendMessage(hsx,lb_addstring,,long(rc,))
        sendMessage(hsy,lb_addstring,,long(rc,4))
        sendMessage(hsxx,lb_addstring,,long(rc,8))
        sendMessage(hsyy,lb_addstring,,long(rc,12))
        sendmessage(lst2,lb_resetContent,,)
        enumChildWindows(wnd,procAddr(paintControlsMap.enumProc),lst2)
        cnt2=getcount(lst2)

        if cnt2 {

            whileloop 0,cnt2-1 {

                wnd=SendMessage(lst2,lb_getitemdata,loop,)
                getWindowRect(wnd,rc2)
                case long(rc2,)<long(rc,) : long rc2&,0=long(rc,)
                case long(rc2,4)<long(rc,4) : long rc2&,4=long(rc,4)
                case long(rc2,8)>long(rc,8) : long rc2&,8=long(rc,8)
                case long(rc2,12)>long(rc,12) : long rc2&,12=long(rc,12)
                case long(rc2,)>long(rc,8) : long rc2&,0=long(rc,8)
                case long(rc2,4)>long(rc,12) : long rc2&,4=long(rc,12)
                case long(rc2,8)<long(rc,) : long rc2&,8=long(rc,)
                case long(rc2,12)<long(rc,4) : long rc2&,12=long(rc,4)
                sendMessage(hstyp,lb_addstring,,2)
                sendMessage(hsh,lb_addstring,,wnd)
                sendMessage(hsx,lb_addstring,,long(rc2,))
                sendMessage(hsy,lb_addstring,,long(rc2,4))
                sendMessage(hsxx,lb_addstring,,long(rc2,8))
                sendMessage(hsyy,lb_addstring,,long(rc2,12))

            }

        }

    }

    globalFree(rc)
    globalFree(rc2)
    destroyWindow(lst2)
    destroyWindow(lst)
    cnt=getcount(hsh)

    if cnt {

        long dc=createCompatibleDC(hDC)
        selectObject(dc, hPic)
        selectobject(dc,getStockObject(NULL_PEN))
        selectobject(dc,getStockObject(DC_BRUSH))

        whileloop 0,cnt-1 {

            SetDCBrushColor(dc,loop)
            rectangle(dc,SendMessage(hsx,lb_getitemdata,loop,),SendMessage(hsy,lb_getitemdata,loop,),SendMessage(hsxx,lb_getitemdata,loop,)+1,SendMessage(hsyy,lb_getitemdata,loop,)+1)

        }

        deleteDC(dc)

    }

    long rt=dim(24)
    long rt&,0=hsh,hsx,hsy,hsxx,hsyy,hstyp
    return rt

}

nProc paintControlsMap.enumProc(long wnd,lst){

    PushAll
    case IsWindowVisible(wnd) and (wnd<>hwnd) : sendMessage(lst,lb_addstring,,wnd)
    PopAll
    return true

}

nproc createLongsList(){

    return Control("LISTBOX","",WS_CHILD | LBS_OWNERDRAWFIXED,,,,,hWnd,999,hInstance,)

}


79 kB
Hochgeladen:03.09.2012
Ladeanzahl0
Descargar
5 kB
Hochgeladen:03.09.2012
Ladeanzahl0
Descargar
1.385 kB
Hochgeladen:03.09.2012
Ladeanzahl9
Descargar
 
03.09.2012  
 



Apéndice: Ver código fuente otra vez fix adaptado -

kleine BugFixes.
 
03.09.2012  
 




Julian
Schmidt
Scheint, super a trabajo.
Jetzt musst du lo sólo todavía fix en dein Lineal-Tool reinhauen.
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
03.09.2012  
 



jaja!
 
03.09.2012  
 




Julian
Schmidt
Könnte uno fix nen Ego-Shooter draus escribir, indem uno Controls killen muss. xD
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
04.09.2012  
 



Entweder así:  [...] 

ooooder natürlich así:  [...] 

oder así:  [...] 

durchaus machbar!

Aaber tal vez auch así:  [...] 
 
04.09.2012  
 




Julian
Schmidt
Spiel-Ziel: Wer schafft lo como erstes Windows abstürzen que se. xD
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
04.09.2012  
 



Zum Quelltext


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

10.044 Views

Untitledvor 0 min.
Gast.081503.10.2024
Frank Reibold25.11.2022
RudiB.03.09.2022
H.Brill21.01.2022
Más...

Themeninformationen

Dieses Thema ha 2 subscriber:

iF (4x)
Julian Schmidt (3x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie