| |
|
|
Frank Abbing | For this To care, that the Content of Dialogfenstern again restauriert becomes, is none so heavy. here a Possibility with XPIA. Assemblersubclassing has thereby whom benefit, not whom Profan-Fastmode dependent To his. The eigentliche Fensterrestaurierung happened to reinem Profan! CompileMarkSeparation {$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/'>End
|
|
|
| |
|
|
|
Jac de Lad | with XProfan 11 might the even yet plenty plainer his. |
|
|
| 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 | 07/27/08 ▲ |
|
|
|
|
Detlef Jagolski | Hello Jac, was already with XProfan 8 no trouble.
Greeting Detlef |
|
|
| XProfan X4, PRFellow, Profan2Cpp - Version 2.0c-pre5, Windows 11 | 07/27/08 ▲ |
|
|
|
|
Jac de Lad | I meant, that it now without Assembler goes. How would have You the because made? |
|
|
| 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 | 07/27/08 ▲ |
|
|
|