English
Opportunities and suggestions

Oberwunsch: Fensterskalierung

 
Hello Roland,

since Version 1 of [X]Profan[²] has it one dickes Manko How I to Time not more than yet of uralten Java(tm)-Applications know: programs cannot on Fensterskalierung react during the window skaliert becomes.

User could finished programs as low-rent class - many XProfan benefit therefore stiff Window.

it ought to possible his the this code
CompileMarkSeparation
whom Content not first to the Skalierung executing. the settle of/ one suitable UserMessage uses insofern no dice The Messages WaitInput too first to the Skalierung durchbrechen.

Please find this a Solution - thread.pcu or subClassen of hWnd are problematically because of the ProcAddr-trouble, means not recommendable. Waitinput durchbrechen with wm_sizing as UserMessage would enough. likewise is to ascertain the wm_erasebkgnd as UserMessage on hWnd wonder bewirkt - with gesetzter UserMessage flimmert hWnd not at Skalieren. is Perhaps ne Brush-thing - ought to but time angeschaut go.
 
01/10/08  
 




Jac
de
Lad
the schließe I without linger on. yet is the only with the Easyvent.dll possible, The, because of another extensions, always überflüssiger becomes. If with the the Skalieren and with the Message_während_des_Verschiebens goes, stay really hardly Opportunities More in the direction open.

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
01/10/08  
 



Jac
the schließe I without linger on. yet is the only with the Easyvent.dll possible, Jac ...



No, likewise with the thread-unit and the onevent-unit and/or with inline-Asm and/or eachone others Variante the subClassens one Fensters. trouble hierbei is the any these mutants on the proc-addr-trouble suffering - the program means potentiell dangerous his can.

Roland could The procAddr-Aufrufe likewise on a Stack pack How it it now with the userMessages does (I incidentally large class find!).

then wären easyVent.dll and onEvent-Unit and the thread-Unit in the filled girts 100% sure useable.

or Roland comes for these Problematik with of/ one own Solution.
 
01/10/08  
 




RGH
The problem is, I windows bislang not moreover can move, the Waitinput To leave, during one with the mouse on the welt zieht.
even if I in of my Wuindowsprozedur on wm_sizing respond and a Variable set, The otherwise immediate to that leave the WaitInput lead, works that here not. (If I there testweise a Bildschirmausgabe einbaue, becomes these objectively immediate during the Größenveränderung implemented.

Übrigens can the same Problematik with the Timer show:
CompileMarkSeparation
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
01/10/08  
 




The problem is, I windows bislang not moreover can move, the Waitinput To leave
...
If I there testweise a Bildschirmausgabe einbaue, becomes these objectively immediate during the Größenveränderung implemented.)


then Waitinput not leave - drinn stay. If a Bildschirmausgabe works then could You on this place Perhaps too a procedure Call event.wm_sizing(h,wparam,lparam)
 
01/10/08  
 




Frank
Abbing

No, likewise with the thread-unit and the onevent-unit and/or with inline-Asm and/or eachone others Variante the subClassens one Fensters. trouble hierbei is the any these mutants on the proc-addr-trouble suffering


The Inline-Assembler-method krankt not on it.

Roland, You could alternatively with WM_MOUSEMOVE/WM_NCMOUSEMOVE Verify, whether The Fenstergröße changed has.
 
01/10/08  
 




RGH
Frank Abbing
Roland, You could alternatively with WM_MOUSEMOVE/WM_NCMOUSEMOVE Verify, whether The Fenstergröße changed has.


the helps unfortunately neither. If I soon a more block Time find, I will me time hither so befassen, what windows there anstellt and How I The control come, during I with the mouse whom Fensterrahmen order Resize erfaßt stops.

Greeting
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
01/10/08  
 



@Frank: The inlineasm-Variant likewise useless if one The Controls by XProfan-Proc repositionieren would like. PS: your Avatar fit somehow!

@Roland: SBM_GETSCROLLINFO is hiervon likewise concerned - here would it very very important the WaitInput leave becomes.
 
01/10/08  
 




Frank
Abbing
iF
@Frank: The inlineasm-Variant likewise useless if one The Controls by XProfan-Proc repositionieren would like. PS: your Avatar fit somehow!


Yes, but who power the already?
Avatar fits? Wozu because?
 
01/10/08  
 




RGH
so becomes it in the next experimentellen Subscriptionsversion weg:
CompileMarkSeparation
 $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

Notes:
- The function SubClassMessage() power only in the SubClassProc sense. If the function true (1) yields, becomes The Original Windowsprozedur for the suitable Window not any more called, otherwise becomes tappt im dunkeln to the ENDPROC automatically called. (wants is a Message treat and nevertheless The Originalroutine subsequently Call, can instead of SubClassMessage() a request over %sWin us %SMessage make.)
- The SubClassProc runs fundamentally in the FastMode ex.
- The SubClassProc becomes fundamentally in the WaitInput called and outside the WaitInput ignoring.
- the old SetMenuItem n% comes To new Geltung: so becomes the WaitInput leave and one can over MenuItem(n%) now objectively on any Messages self react. (See example. here becomes z.B. the übliche User Messages 16 superfluously, around the terminate abzufangen.)

If this take action itself in my Tests as steady erweist, could it entry into final Version 11 find.

Greeting
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
01/18/08  
 



print J+mkstr$(a,&getTickCount) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
01/18/08  
 




Jörg
Sellmeyer
sees very calm from. an question have I but yet:
in the waitinput bedeuted probably, that You in your WaitInput-procedure the Reading the Subclassmessages erledigst, or?
is the because now in each WaitInput so, only the Mainwindow related, or can/should/must to the somehow switch off, if I z.B. one Dialog-Window with eigener Loop and WaitInput open?
Greeting
Jörg
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
01/18/08  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

no Systemprofil laid out. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Please register circa a Posting To verfassen.
 

Topic-Options

10.321 Views

Untitledvor 0 min.
Peter Max Müller10/22/17
E.T.01/02/16
ByteAttack08/09/15
Normann Strübli08/22/14
More...

Themeninformationen



Admins  |  AGB  |  Applications  |  Authors  |  Chat  |  Privacy Policy  |  Download  |  Entrance  |  Help  |  Merchantportal  |  Imprint  |  Mart  |  Interfaces  |  SDK  |  Services  |  Games  |  Search  |  Support

One proposition all XProfan, The there's!


My XProfan
Private Messages
Own Storage Forum
Topics-Remember-List
Own Posts
Own Topics
Clipboard
Log off
 Deutsch English Français Español Italia
Translations

Privacy Policy


we use Cookies only as Session-Cookies because of the technical necessity and with us there no Cookies of Drittanbietern.

If you here on our Website click or navigate, stimmst You ours registration of Information in our Cookies on XProfan.Net To.

further Information To our Cookies and moreover, How You The control above keep, find You in ours nachfolgenden Datenschutzerklärung.


all rightDatenschutzerklärung
i want none Cookie