| |
|
|
Thomas Freier | Im Principio sí kein Problema, sin embargo kann Yo después de oben sólo en ca. 20px mover. Falscher Script oder physikalische Grenze?
Def Captura de lanzamiento(0) !"USER32","ReleaseCapture"
SetTrueColor 1
Windowstyle 82
window 0,0 - 0,0
var hwnd&=%hwnd
var hwndX%=0
var hwndY%=0
SetWindowPos hwnd&=hwndX%,hwndY% - 1120,800;0
USEP 0,0,rgb(0,0,0)
Rectángulo 0,0-1120,800
USEP 2,0,rgb(0,0,0)
Line 0,10-40,10
Line 0,20-40,20
Line 0,30-40,30
Line 0,40-40,40
Line 0,50-40,50
Rectángulo 60,60-1060,740
DrawText 140,360,"Dieses Ventana en linker gedrücker Botón del ratón mover."
DrawText 140,460,"Dieses Ventana con Taste 'Esc' oder 'Alt' plus 'F4' schließen."
SubClass hwnd&,1
mientras que 1
WaitInput
caso %key=27:romper
wend
SubClass hwnd&,0
end
SubClassProc
If %mensaje = $201
UseCursor 5
SendMessage(%hwnd,$112,$F012,0)
Captura de lanzamiento()
UseCursor 0
EndIf
ENDPROC
|
|
|
| |
|
|
|
Rolf Koch | Also Yo schiebe hier el Ventana en el ganzen Desktop hin y her y tener no Grenzen, incluso de el Sichtbereich heraus. Oder tener Yo qué falso verstanden? |
|
|
| |
|
|
|
Thomas Freier | Rolf, el hast du correcto verstanden. Auf mi Laptop kann Yo el Ventana después de oben sólo bastante wenig mover. Links, rechts y después de unten a de el Sichtbereich. Ist wohl otra vez BS y geräteabhängig. |
|
|
| |
|
|
|
| En me springt el Ventana a Y-Position 0 zurück si yo lo después de oben hinaus schiebe.
Selberschieben mache Yo así: Descargar KompilierenMarcaSeparación {$cleq}
'URL: https://xprofan.com/intl/de/forum/hauptfenster-verschieben/
{$compiler c:\xprofan11}
{$runtime c:\xprofan11}
#include c:\dev\mouse.inc
SetTrueColor 1
Windowstyle 82
window 0,0 - 0,0
var hwnd&=%hwnd
var hwndX%=0
var hwndY%=0
SetWindowPos hwnd&=hwndX%,hwndY% - 1120,800;0
UsePen 0,0,rgb(0,0,0)
Rectangle 0,0-1120,800
UsePen 2,0,rgb(0,0,0)
Line 0,10-40,10
Line 0,20-40,20
Line 0,30-40,30
Line 0,40-40,40
Line 0,50-40,50
Rectangle 60,60-1060,740
DrawText 140,360,"Dieses Fenster bei linker gedrücker Maustaste verschieben."
DrawText 140,460,"Dieses Fenster mit Taste 'Esc' oder 'Alt' plus 'F4' schließen."
userMessages wm_close,wm_lButtonDown
while 1
WaitInput
case %key=27:break
select %uMessage
caseof wm_close : break
caseof wm_lButtonDown : hWnd.movebyMouse()
endSelect
wend
end
proc hWnd.movebyMouse
mouse.getPos()
var omx&=mouse.x&
var omy&=mouse.y&
var wix&=%winLeft
var wiy&=%winTop
var xx&=%winRight-wix&
var yy&=%winBottom-wiy&
while 1
casenot lm_() : break
mouse.getPos()
setWindowPos %hWnd=(mouse.x&+wix&-omx&),(mouse.y&+wiy&-omy&) - xx&,yy&;0
wend
./../funktionsreferenzen/XProfan/ENDPROC/'>endProc
|
|
|
| |
|
|
|
Thomas Freier | Exactamente IF. Aber merkwürdiger Weise no en y = 0, pero en ca. y = -20, si y > -20 ser debería. |
|
|
| |
|
|
|
| Stimmt...
Espectáculos en me -25 ppp -26.
Auch si 1px Diff. ists vlt. el Titelzeilenhöhe - stell vlt. veces Su Titelzeilenhöhe en 50 para Test. |
|
|
| |
|
|
|
Dieter Zornow | En me gehts auch, uno kanns aber auch simplemente con sendmessage hacer.
|
|
|
| Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2 | 04.12.2010 ▲ |
|
|
|
|
Thomas Freier | Ist wohl una Problema bajo XP SP2 y el kleine Problema con el Ratón.inc es por el Einsatz de X11 a beheben. Yo find aber nichts, a Titelzeilenhöhe, porque el Es el Grenze, vorzugeben. |
|
|
| |
|
|
|
| Schau veces el systemParametersInfo-API: [...] y como vlt. nonClientMetrics: [...] |
|
|
| |
|
|
|
| Argh - el funktioniert sí wirklich aber "achtung" kann Yo como sólo sagen:
cls
struct repairedNONCLIENTMETRICS=cbSize&,iBorderWidth&,iScrollWidth&,iScrollHeight&,iCaptionWidth&,iCaptionHeight&,lfCaptionFont#(60),iSMCaptionWidth&,iSMCaptionHeight&,lfSMCaptionFont#(60),iMenuWidth&,iMenuHeight&,lfMenuFont#(60),lfStatusFont#(60),lfMessageFont#(60)
mem nonClientMetricsStructure=repairedNONCLIENTMETRICS
long nonClientMetricsStructure#,0=sizeof(nonClientMetricsStructure)
systemParametersInfo(SPI_GETNONCLIENTMETRICS,sizeof(nonClientMetricsStructure),nonClientMetricsStructure,0)
imprimir "Zuletzt:",long(nonClientMetricsStructure,4)+long(nonClientMetricsStructure,20)
long nonClientMetricsStructure#,20=5
systemParametersInfo(SPI_SETNONCLIENTMETRICS,sizeof(nonClientMetricsStructure),nonClientMetricsStructure,0)
imprimir systemParametersInfo(SPI_GETNONCLIENTMETRICS,sizeof(nonClientMetricsStructure),nonClientMetricsStructure,0)
imprimir "Nun:",long(nonClientMetricsStructure,4)+long(nonClientMetricsStructure,20)
waitinput
end
|
|
|
| |
|
|
|
Thomas Freier | Nun, ACHTUNG dejó que su falta, sehe Yo en el Moment todavía no "hörere Titelzeile" beim %hwnd? Sombrero me ohnehin, Yo hätt's me sí denken puede, dass el sólo XPSE se ejecuta, algunos zusätzliche graue Haare gekostet. |
|
|
| |
|
|
|
| Es sólo viel más rápido lo con xpse hinzuschreiben - kompliziert umbauen para no-xpse-verwendung kann De hecho, es la el Valor darauf legt oder mich simplemente fragen si ego umbauen se/muss.
Yo para media Teil schreib jedenfalls ungern a algo 5 Minuten Yo genauso en 2 Minuten escribir kann (escribir wir doch auch más bien XProfan como C#?) - wäre doch Quälerei - besonders wenns por lo tanto va primero algo auszutesten.
Thomas Freier (05.12.10)
Nun, ACHTUNG dejó que su falta, sehe Yo en el Moment todavía no "hörere Titelzeile" beim %hwnd?
long nonClientMetricsStructure#,20=5
Setzt el ("""eigentlich""") en 5 - daraufhin wurde esta en me auch muy flach - pero no 5. (determinado porque el Schrift größer es como 5)
|
|
|
| |
|
|