Español
Wünsche y Sugerencias

Oberwunsch: Fensterskalierung

 
Hola Roland,

seit Versión 1 de [X]Profano[²] ha lo una dickes Manko Yo a Tiempo höchstens todavía de uralten Java(tm)-Anwendungen saber: Programas puede no en Fensterskalierung reagieren während el Ventana skaliert se.

User könnten fertige Programas como minderwertig einstufen - viele XProfan nutzen deshalb Steife Ventana.

Lo debería posible ser el dieser Code
KompilierenMarcaSeparación
el Inhalt no sólo después de el Skalierung ausführt. Das Setzen uno entsprechenden UserMessage nutzt insofern nichts como el Messages WaitInput auch sólo después de el Skalierung durchbrechen.

Bitte finde esta una solución - thread.pcu oder subClassen de hWnd son problematisch wegen el ProcAddr-Problema, also no empfehlenswert. Waitinput durchbrechen en wm_sizing como UserMessage wäre ausreichend. También es determinar el wm_erasebkgnd como UserMessage en hWnd Wunder bewirkt - en gesetzter UserMessage flimmert hWnd no beim Skalieren. Ist tal vez ne Brush-Sache - debería aber veces angeschaut voluntad.
 
10.01.2008  
 




Jac
de
Lad
Dem schließe Yo mich sin Zögern a. Bisher es el sólo el Easyvent.dll posible, el, aufgrund otro Erweiterungen, siempre überflüssiger se. Si el con el Skalieren y con el Message_während_des_Verschiebens va, bleiben eigentlich kaum Wünsche mehr en el Richtung offen.

Jac
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
10.01.2008  
 



Jac
Dem schließe Yo mich sin Zögern a. Bisher es el sólo el Easyvent.dll posible, Jac ...



Nein, ebenso con el thread-unit y el onevent-unit y/oder con inline-Asm y/oder cada otro Variante des subClassens uno Fensters. Problema hierbei es el todos esta Varianten al proc-addr-Problema leiden - el Programa also potentiell gefährlich ser kann.

Roland podría el procAddr-Aufrufe ebenso en una Stack packen como lo ahora con el mensajes de los usuarios tut (Yo de paso große Klasse finde!).

Dann wären easyVent.dll y onEvent-Unit y el thread-Unit en el vollen Umfange 100% sicher nutzbar.

Oder Roland kommt para esta Problematik con uno eigenen Solución.
 
10.01.2008  
 




RGH
Das Problema es, dass Yo Windows bislang no dazu puede moverse, el Waitinput a verlassen, während uno con ratón al Rahmen zieht.
Selbst si yo en meiner Wuindowsprozedur en wm_sizing reagiere y una variable poner, el sonst inmediatamente para Verlassen des WaitInput führt, klappt que aquí no. (Wenn Yo como testweise una Bildschirmausgabe einbaue, se esta tatsächlich inmediatamente während el Größenveränderung durchgeführt.

Übrigens läßt el gleiche Problematik con el Temporizador zeigen:
KompilierenMarcaSeparación
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
10.01.2008  
 




Das Problema es, dass Yo Windows bislang no dazu puede moverse, el Waitinput a verlassen
...
Wenn Yo como testweise una Bildschirmausgabe einbaue, se esta tatsächlich inmediatamente während el Größenveränderung durchgeführt.)


Dann Waitinput no verlassen - drinn bleiben. Wenn una Bildschirmausgabe klappt entonces könntest Usted a dieser Punto tal vez auch una Procedimiento aufrufen event.wm_sizing(h,wparam,lparam)
 
10.01.2008  
 




Frank
Abbing

Nein, ebenso con el thread-unit y el onevent-unit y/oder con inline-Asm y/oder cada otro Variante des subClassens uno Fensters. Problema hierbei es el todos esta Varianten al proc-addr-Problema leiden


El Inline-Ensamblador-Método krankt no daran.

Roland, du könntest alternativ en WM_MOUSEMOVE/WM_NCMOUSEMOVE prüfen, si el Fenstergröße verändert ha.
 
10.01.2008  
 




RGH
Frank Abbing
Roland, du könntest alternativ en WM_MOUSEMOVE/WM_NCMOUSEMOVE prüfen, si el Fenstergröße verändert ha.


Das hilft desafortunadamente auch no. Wenn Yo demnächst una größeren Block Tiempo finde, voluntad Yo mich veces näher así befassen, qué Windows como anstellt y cómo Yo a el Kontrolle komme, während I, con ratón el Fensterrahmen zwecks Größenänderung erfaßt halte.

Saludo
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
10.01.2008  
 



@Franco: El inlineasm-Variante es ebenso nutzlos si uno el Controls por XProfan-Proc repositionieren möchte. PS: Su Avatar passt irgendwie!

@Roland: SBM_GETSCROLLINFO es hiervon ebenso betroffen - auch hier wäre lo muy muy wichtig el WaitInput verlassen se.
 
10.01.2008  
 




Frank
Abbing
IF
@Franco: El inlineasm-Variante es ebenso nutzlos si uno el Controls por XProfan-Proc repositionieren möchte. PS: Su Avatar passt irgendwie!


Sí, aber wer macht el ya?
Avatar paßt? Wozu porque?
 
10.01.2008  
 




RGH
So se lo en el nächsten experimentellen Subscriptionsversion ir:
KompilierenMarcaSeparación
 $H Messages.ph

SubClassProc

    If SubClassMessage(%hWnd, ~wm_sizing)

        SetStyle %hwnd, 1, GetStyle(%hwnd, 1) | $02000000   WS_EX_COMPOSITED
        Resize

    ElseIf SubClassMessage(bt&, ~wm_rbuttondown)

        SetText bt&, Autsch!

    ElseIf SubClassMessage(bt&, ~wm_rbuttonup)

        SetText bt&, Test1
        SetMenuItem 3000

    ElseIf SubClassMessage(st&, ~wm_mousemove)

        SetMenuItem 3001

    ElseIf SubClassMessage(%hwnd, ~wm_close)

        SetMenuItem 3999

    EndIf

EndProc

Proc Resize

    SetWindowPos bt& = 0, 50 - Width(%HWnd)/2, Height(%HWnd) - 75
    SetWindowPos bt2& = Width(%HWnd)/2, 50 - Width(%HWnd)/2, Height(%HWnd) - 75
    SetWindowPos st& = 0, 0 - 0,0; 0
    SetWindowPos tb& = 0, 0 - 0,0; 0

EndProc

declare bt&, bt2&, st&, tb&
declare ende%
cls
st& = create(StatusWindow, %HWnd, Statuszeile)
tb& = create(Toolbar, %HWnd,0,15,1,1000,1)
bt& = create(Button, %HWnd, Test1, 0, 50, Width(%HWnd)/2, Height(%HWnd) - 75)
bt2& = create(Button, %HWnd, Test2, Width(%HWnd)/2, 50, Width(%HWnd)/2, Height(%HWnd) - 75)
SubClass %HWnd, 1 SubClassing des Hauptfensters einschalten
SubClass bt&,   1 SubClassing des 1. Buttons einschalten
SubClass st&,   1 SubClassing der Statuszeile einschalten

whilenot ende%

    waitinput

    If %Key = 4

        Resize
        SetStyle %hwnd, 1, GetStyle(%hwnd, 1) - $02000000

    ElseIf MenuItem(3000)

        MessageBox(Rechtsklick auf Button 1!,Test,0)

    ElseIf MenuItem(3001)

        MessageBox(Mausbewegung über Statuszeile!,Test,0)

    ElseIf MenuItem(3999)

        Case Messagebox(Wollen Sie das Programm wirklich verlassen?,Frage,36) = 6 : Ende% = 1

    EndIf

endwhile

Subclassing wieder ausschalten
SubClass %HWnd, 0
SubClass bt&, 0
SubClass st&, span>
end

Hinweise:
- El Función SubClassMessage() macht sólo en el SubClassProc Sinn. Wenn el Función verdadero (1) ergibt, se el Original Windowsprozedur para el entsprechende Ventana no mehr aufgerufen, ansonsten se ellos antes el ENDPROC automáticamente aufgerufen. (Will uno una Message behandeln y trotzdem el Originalroutine anschließend aufrufen, puede ser en lugar de SubClassMessage() una Abfrage encima %sWin uns %SMessage hacer.)
- El SubClassProc se ejecuta grundsätzlich en el FastMode de.
- El SubClassProc se grundsätzlich en el WaitInput aufgerufen y außerhalb des WaitInput ignoriert.
- Das alte SetMenuItem N% kommt a neuer Geltung: Damit se el WaitInput verlassen y uno kann encima MenuItem(N%) nun tatsächlich en todos Messages incluso reagieren. (Siehe Ejemplo. Hier se z.B. el übliche Mensajes del usuario 16 überflüssig, en el Beenden abzufangen.)

Wenn dieses Verfahren se en media Tests como stabil erweist, podría lo Eingang en el endgültige Versión 11 encontrar.

Saludo
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
18.01.2008  
 



imprimir J+mkstr$(a,&getTickCount) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
18.01.2008  
 




Jörg
Sellmeyer
Sieht muy fresco de. Un Cuestión Yo aber todavía:
Im waitinput bedeuted wahrscheinlich, daß Usted en Deiner WaitInput-Procedimiento el Auslesen el Subclassmessages erledigst, oder?
Ist el porque ahora en cada WaitInput así, sólo el Ventana principal bezogen, oder kann/se/muß al irgendwie ausschalten, si yo z.B. una Dialogfenster con eigener Bucle y WaitInput öffne?
Saludo
Jörg
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
18.01.2008  
 




Respuesta


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.609 Views

Untitledvor 0 min.
Peter Max Müller22.10.2017
E.T.02.01.2016
ByteAttack09.08.2015
Normann Strübli22.08.2014
Más...

Themeninformationen



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