| |
|
|
Thomas Freier | Im Prinzip oui ne...aucune Problem, cependant peux je es pour dessus seulement um ca. 20px Déplacer. Falscher Script ou bien physikalische frontière?
Def Capture de sortie(0) !"User32",Capture de sortie "
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)
Rectangle 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
Rectangle 60,60-1060,740
DrawText 140,360,"Dieses la fenêtre chez linker gedrücker Bouton de la souris Déplacer."
DrawText 140,460,"Dieses la fenêtre avec bouton 'Esc' ou bien 'vieux' plus 'F4' schließen."
SubClass hwnd&,1
tandis que 1
WaitInput
cas %clé=27:pause
Wend
SubClass hwnd&,0
end
SubClassProc
Si %message = $201
UseCursor 5
SendMessage(%hwnd,$112,$F012,0)
Capture de sortie()
UseCursor 0
EndIf
ENDPROC
|
|
|
| |
|
|
|
Rolf Koch | alors je schiebe ici cela la fenêtre sur dem ganzen Desktop hin et her et hab aucun Grenzen, sogar aus dem Sichtbereich heraus. ou bien hab je quoi faux verstanden? |
|
|
| |
|
|
|
Thomas Freier | Rolf, cela la hâte du richtig verstanden. sur meinem Laptop peux je cela la fenêtre pour dessus seulement entier wenig Déplacer. à gauche, à droite et pour unten jusqu'à aus dem Sichtbereich. Ist wohl wieder BS et geräteabhängig. |
|
|
| |
|
|
|
| chez mir springt cela la fenêtre à Y-Position 0 zurück si je es pour dessus hinaus schiebe.
Selberschieben fais je so: Herunterladen KompilierenMarqueSéparation {$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 | oui c'est ca iF. mais merkwürdiger Weise pas sur y = 0, mais sur ca. y = -20, si y > -20 son sollte. |
|
|
| |
|
|
|
| Stimmt...
Zeigt chez mir -25 ppp -26.
aussi si 1px Diff. ists vlt. qui Titelzeilenhöhe - stell vlt. la fois Votre Titelzeilenhöhe sur 50 zum Test. |
|
|
| |
|
|
|
Dieter Zornow | chez mir gehts aussi, on kanns mais aussi simple avec sendmessage faire.
|
|
|
| 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 un Problem sous XP SP2 et cela kleine Problem avec qui Souris.inc ist par den Einsatz de X11 trop beheben. je find mais rien, à Titelzeilenhöhe, car c'est qui frontière, vorzugeben. |
|
|
| |
|
|
|
| exposition fois le systemParametersInfo-API: [...] et là vlt. nonClientMetrics: [...] |
|
|
| |
|
|
|
| Argh - cela funktioniert oui wirklich mais "achtung" peux je là seulement dire:
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)
imprimer "Zuletzt:",long(nonClientMetricsStructure,4)+long(nonClientMetricsStructure,20)
long nonClientMetricsStructure#,20=5
systemParametersInfo(SPI_SETNONCLIENTMETRICS,sizeof(nonClientMetricsStructure),nonClientMetricsStructure,0)
imprimer systemParametersInfo(SPI_GETNONCLIENTMETRICS,sizeof(nonClientMetricsStructure),nonClientMetricsStructure,0)
imprimer "Nun:",long(nonClientMetricsStructure,4)+long(nonClientMetricsStructure,20)
waitinput
end
|
|
|
| |
|
|
|
Thomas Freier | eh bien, ACHTUNG außeracht gelassen, vois je im Moment encore aucun "hörere Titelzeile" beim %hwnd? Hat mir de toute façon, je hätt's mir oui penser peut, dass cela seulement avec XPSE fonctionne, quelques zusätzliche graue Haare gekostet. |
|
|
| |
|
|
|
| c'est arrêt viel plus rapide es avec xpse hinzuschreiben - compliqué umbauen pour pas-xpse-verwendung peux es oui qui qui Wert puis legt ou bien mich simple fragen si ego umbauen soll/muss.
je pour meinen partie schreib jedenfalls ungern à quelque chose 5 Minuten quoi je genauso dans 2 Minuten écrivons peux (écrivons wir doch aussi lieber XProfan comme C#?) - wäre doch Quälerei - besonders wenns tout autor allez erstmal quelque chose auszutesten.
Thomas Freier (05.12.10)
eh bien, ACHTUNG außeracht gelassen, vois je im Moment encore aucun "hörere Titelzeile" beim %hwnd?
long nonClientMetricsStructure#,20=5
mets qui ("""eigentlich""") sur 5 - daraufhin wurde cet chez mir aussi très flach - mais pas 5. (bestimmt weil qui Schrift größer ist comme 5)
|
|
|
| |
|
|