Español
Fuente/ Codesnippets

Mehrere Monitore Workarea

 

Georg
Teles
Ist el Erweiterung de [...] 
KompilierenMarcaSeparación
'###########################################
'#                                         #
'#  Snippet von Georg Teles am 09.10.2014  #
'#                                         #
'###########################################
 $H Windows.ph
Def GetMonitorInfoA(2)!"user32","GetMonitorInfoA"
Def MonitorFromWindow(2)!"user32","MonitorFromWindow"
Def GetAsyncKeyState(1) ! "user32.dll","GetAsyncKeyState"
Struct RECT = left&,top&,right&,bottom&
Declare rcMonitor#, rcWork#
Dim rcMonitor#, RECT
Dim rcWork#, RECT
STRUCT MONITORINFO = cbSize&, rcMonitor#(16), rcWork#(16), dwFlags&
Declare mon#
Dim mon#, MONITORINFO
mon#.cbSize& = SizeOf(mon#)
CLS
' Information das erste mal in mon# einlesen
GetMonitorInfoA(MonitorFromWindow(%HWnd,2),mon#)' für OK gibt 1 zurück, 0 = Fehler
info()
Usermessages $201

While 1

    Waitinput
    Case %UMessage=$201 : movebymouse()
    info()

EndWhile

Dispose rcWork#
Dispose rcMonitor#
Dispose mon#

Proc movebymouse

    Parameters m&
    Declare mpos#, x1&, y1&
    Dim mpos#,8
    ~GetCursorPos(mpos#)
    var wix&=%winLeft-long(mpos#,0)
    var wiy&=%winTop-long(mpos#,4)

    While iskey(1)

        Sendmessage(%hwnd,$0112,$0F012,0)

    EndWhile

    ' deren (vom aktiven Monitor) Workarea ermitteln erst nachdem das Fenster auf diesen Monitor verschoben wurde
    GetMonitorInfoA(MonitorFromWindow(%HWnd,2),mon#)
    ~GetCursorPos(mpos#)
    x1&=(long(mpos#,0)+wix&)
    case x1&<workarea("Links") : x1&=workarea("Links")
    case x1&>workarea("Rechts")-(%winRight-%winLeft) : x1&=workarea("Rechts")-(%winRight-%winLeft)
    y1&=(long(mpos#,4)+wiy&)
    case y1&<workarea("Oben") : y1&=workarea("Oben")
    case y1&>workarea("Unten")-(%winBottom-%winTop) : y1&=workarea("Unten")-(%winBottom-%winTop)
    setWindowPos %hWnd=x1&,y1& - (%winRight-%winLeft),(%winBottom-%winTop);0
    Dispose mpos#

EndProc

Proc workarea

    Parameters position$
    Declare x%
    case position$="Links":x%=Long(mon#,20)
    case position$="Oben":x%=Long(mon#,24)
    case position$="Rechts":x%=Long(mon#,28)
    case position$="Unten":x%=Long(mon#,32)
    Return x%

EndProc

Proc info

    CLS
    print "cbSize&: ";Long(mon#,0)
    print
    print "hMon X: (left)   - ";Long(mon#,4)
    print "hMon Y: (top)    - ";Long(mon#,8)
    print "hMon W: (right)  - ";Long(mon#,12)
    print "hMon H: (bottom) - ";Long(mon#,16)
    print
    print "WORK X: (left)   - ";Long(mon#,20)
    print "WORK Y: (top)    - ";Long(mon#,24)
    print "WORK W: (right)  - ";Long(mon#,28)
    print "WORK H: (bottom) - ";Long(mon#,32)
    print
    print "dwFlags&:";Long(mon#,362>)

ENDPROC

 
XProfan X2
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

09.10.2014  
 



Sí algo como es siempre muy nice.

Vlt. como Tipp en algo como:
KompilierenMarcaSeparación
Proc workarea

    Parameters position$
    Declare x%
    case position$="Links":x%=Long(mon#,20)
    case position$="Oben":x%=Long(mon#,24)
    case position$="Rechts":x%=Long(mon#,28)
    case position$="Unten":x%=Long(mon#,32)
    Return x%

c

einfacher siempre auch para el Prozessor (also energiesparender):
KompilierenMarcaSeparación
Proc workarea

    Parámetros pos&// 0L;1O;2R;3U
    volver long(mon#,20+pos&*4)

ENDPROC


o. para Xpsenutzer:
KompilierenMarcaSeparación
workarea(long p){volver long(mon#,20+p*4)}

oder nProc:
KompilierenMarcaSeparación
Soll heissen dass lo en solch aneinanderhängenden Speicherplätzen bien anbietet con un Faktor billig direkt a adressieren.

Muss uno net, puede ser aber.
 
10.10.2014  
 




Georg
Teles
Ein Freund sagte me como él mi Codes gesehen hatte (PHP), beim Programmieren soviel como posible a kommentieren & auszuschreiben, Übersichts- & Verständlichkeitshalber para otro Programmierer, él macht lo auch beruflich & lo trabajo mehrere Personas a una Projekt. Das war aber hier unnötige Nebeninfo habe simplemente después de el Solución mehrere Monitore gesucht & para Andere nachvollziehbar umschrieben como en el vorherigen Workarea o. de Faulheit gelassen ... Spaß beiseite

sí el bietet se en cada Fall a, el xpse Variante gefällt me al besten.

bin auch el Meinung así wenig como posible a escribir & viel como posible abzukürzen, en fertigen Programmen entferne Yo incluso vacío zeilen, Tabs & Leerzeichen
 
XProfan X2
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

10.10.2014  
 



Georg Teles (10.10.14)
en fertigen Programmen entferne Yo incluso vacío zeilen, Tabs & Leerzeichen


Irghh.

Das tätentut el xpse en el "enh"-Expediente el él para XProfan-Kompilierer son.

Yo spreche mich no gegen Kommentare en el Quelle de pero más gegen
"unnötigen" Prozessoraufwand beziehungsweise gegen wenig-effizienten Code.

En Características como hier en Workarea es el vermutlich wumpe como el Función
vmtl. kaum regelmäßig aufgerufen se.

Wollte auch sólo bisl Klugscheißen, mache Yo regelmäßig - Profilneurosen.
 
10.10.2014  
 




Georg
Teles
( Yo sagte en efecto unnötige de me Info, el erste Satz ) Yo entferne el Zeilen porque I, con XPSE sólo kompiliere, si en nProc's va ... sí como hast du bastante, de wenig como posible soviel como posible herauszuholen & elegant como posible formulieren, Es el Kunst en el Programmieren ( & optimiert es sí entonces automáticamente o = optimiert, entonces lo perfekt )
 
XProfan X2
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

10.10.2014  
 



Perfekt Será mejor que te va nie.

Obwohl el otra vez auch después de solch una Satz como klingt como el como lautet: "weltweiter bedarf a homecomputern max 5" -

nichtmal en aussage el uno se siempre irrt puede ser se no irren
 
10.10.2014  
 




Georg
Teles
Wenn uno se 100% sicher es puede ser se trotzdem irren, el stimmt ... unser Physiklehrer sagte veces: "wenn Yo el Hand antes mi Gesicht halte, bin Yo no sicher, si zwischen media Augen y Hand nichts (no Luft gemeint) es, porque Yo sehe sólo el, qué mi Augen me zeigen"

streng genommen son zB. physikalische Gesetzte Annäherungen a el Wahrheit por Kalkulation, manchmal basierend en Beobachtungen, Analyse, Auswertung, ... de gesammelten Daten --- en menschlichen Emotionen puede Wort "Cool" una bastante otro Bedeutung & Empfindungen en dir herforrufen como en me oder alguien anders, incluso si uno situationsbedingt lo correcto aufnimmt, kann lo a Missverständnissen führen si mann lo bastante genau nimmt

perfekt war schlechte Wortwahl de me, lo se tatsächlich nichts perfekt ser
 
XProfan X2
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

10.10.2014  
 



Como isser otra vez el Bug:

Georg Teles (10.10.14)
lo se tatsächlich nichts perfekt ser


Das Perfekte es perfekt!
 
10.10.2014  
 




Georg
Teles
sería como el Wort voluntad posición, gäbe lo kein Bug:

lo se tatsächlich nichts perfekt voluntad

Yo dar después de, el perfekte es (ya) perfekt & se weiterhin perfekt ser
 
XProfan X2
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

11.10.2014  
 



Georg Teles (11.10.14)
... & se weiterhin perfekt ser


Sind wir ahora also erfolgreich en el Land el Spekulationen angekommen?
 
11.10.2014  
 




Georg
Teles
scheint así a ser
 
XProfan X2
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

12.10.2014  
 



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

15.556 Views

Untitledvor 0 min.
Georg Teles29.08.2024
Torsten Boo09.06.2022
RudiB.07.02.2022
p.specht20.11.2021
Más...

Themeninformationen

Dieses Thema ha 2 subscriber:

Georg Teles (6x)
iF (5x)


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