| |
|
|
Frank Abbing | Pour cette trop sorgen, dass qui le contenu de Dialogfenstern wieder restauriert wird, ist gar pas so schwer. ici une Possibilité avec XPIA. Assemblersubclassing hat dabei den Vorteil, pas sur den Profan-Fastmode angewiesen trop son. qui eigentliche Fensterrestaurierung passiert avec reinem Profan! KompilierenMarqueSéparation {$iq}
Declare x&, y&, text$, dialog&, xpiadll&, adresse&
xpiadll&=UseDll(xpia$)
If 0
ASMINCLUDE
.data
oldproc dd 0
adresse dd 0
.code
; ________________________________________________________________________________________________________________
subclass proc hWnd:DWORD, uMsg:DWORD, wParam:DWORD, lParam:DWORD
invoke CallWindowProc,oldproc,hWnd,uMsg,wParam,lParam
.if uMsg==WM_PAINT
Call adresse
.endif
ret
subclass endp
; ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
ASMEND
EndIf
Hiermit wird das Dialogfester restauriert.
Proc Paint
StartPaint dialog&
DrawText 10,10,Probetext
DrawIcon Profan, 10, 30
EndPaint
EndProc
WindowTitle Hauptfenster
WindowStyle 31
Window 0,0-100,100
UseFont MS Sans Serif,13,0,0,0,0
SetDialogFont 1
dialog& = Create(WINDOW, %hwnd, Dialogfenster, (%maxx-400), (%maxy-330), 400, 300)
adresse&=ProcAddr(Paint, 0)
Subclassing starten
ASMSTART StartSubclassing(dialog&,adresse&)
m2m adresse,para2
invoke SetWindowLong,para1,GWL_WNDPROC,addr subclass
mov oldproc,eax
ASMEND
Paint
While 1
waitInput
Case %key=2:BREAK
EndWhile
DestroyWindow(%hwnd)
FreeDll xpiadll& ass=s4 href='./../../function-references/XProfan/end/'>Fin
|
|
|
| |
|
|
|
Jac de Lad | avec XProfan 11 pourrait cela sogar encore viel einfacher son. |
|
|
| 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 | 27.07.2008 ▲ |
|
|
|
|
Detlef Jagolski | allô Jac, était déjà avec XProfan 8 ne...aucune Problem.
Salut Detlef |
|
|
| XProfan X4, PRFellow, Profan2Cpp - Version 2.0c-pre5, Windows 11 | 27.07.2008 ▲ |
|
|
|
|
Jac de Lad | je meinte, dass es maintenant sans Assembler allez. comment hättest du cela car gemacht? |
|
|
| 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 | 27.07.2008 ▲ |
|
|
|