|
|
TITLE wsubcls.asm
_TEXT SEGMENT WORD PUBLIC 'CODE' _TEXT ENDS
_DATA SEGMENT WORD PUBLIC 'DATA' _DATA ENDS
DGROUP GROUP _DATA
EXTRN CALLWINDOWPROC:FAR EXTRN DEFDLGPROC:FAR
_TEXT SEGMENT
ASSUME CS: _TEXT
PUBLIC BUTTONWNDPROC PUBLIC COMBOBOXCTLWNDPROC PUBLIC EDITWNDPROC PUBLIC LBOXCTLWNDPROC PUBLIC SBWNDPROC PUBLIC STATICWNDPROC PUBLIC MDICLIENTWNDPROC PUBLIC TITLEWNDPROC PUBLIC MENUWINDOWPROC PUBLIC DEFDLGPROCTHUNK PUBLIC DESKTOPWNDPROC
SUBCLASS_MAGIC equ 0534C4353h ; "SCLS" Sub-Class magic value */
align 16
dd SUBCLASS_MAGIC dd 2 dd 0
BUTTONWNDPROC PROC FAR inc bp push bp mov bp,sp push ds mov ax,DGROUP mov ds,ax mov ax,OFFSET BUTTONWNDPROC mov dx,SEG BUTTONWNDPROC push dx push ax push WORD PTR [bp+14] ;hwnd push WORD PTR [bp+12] ;message push WORD PTR [bp+10] ;wParam push WORD PTR [bp+8] push WORD PTR [bp+6] ;lParam call FAR PTR CALLWINDOWPROC dec bp dec bp mov sp,bp pop ds pop bp dec bp ret 10
BUTTONWNDPROC ENDP
align 16
dd SUBCLASS_MAGIC dd 3 dd 0
COMBOBOXCTLWNDPROC PROC FAR inc bp push bp mov bp,sp push ds mov ax,DGROUP mov ds,ax mov ax,OFFSET COMBOBOXCTLWNDPROC mov dx,SEG COMBOBOXCTLWNDPROC push dx push ax push WORD PTR [bp+14] ;hwnd push WORD PTR [bp+12] ;message push WORD PTR [bp+10] ;wParam push WORD PTR [bp+8] push WORD PTR [bp+6] ;lParam call FAR PTR CALLWINDOWPROC dec bp dec bp mov sp,bp pop ds pop bp dec bp ret 10
COMBOBOXCTLWNDPROC ENDP
align 16
dd SUBCLASS_MAGIC dd 4 dd 0
EDITWNDPROC PROC FAR inc bp push bp mov bp,sp push ds mov ax,DGROUP mov ds,ax mov ax,OFFSET EDITWNDPROC mov dx,SEG EDITWNDPROC push dx push ax push WORD PTR [bp+14] ;hwnd push WORD PTR [bp+12] ;message push WORD PTR [bp+10] ;wParam push WORD PTR [bp+8] push WORD PTR [bp+6] ;lParam call FAR PTR CALLWINDOWPROC dec bp dec bp mov sp,bp pop ds pop bp dec bp ret 10
EDITWNDPROC ENDP
align 16
dd SUBCLASS_MAGIC dd 5 dd 0
LBOXCTLWNDPROC PROC FAR inc bp push bp mov bp,sp push ds mov ax,DGROUP mov ds,ax mov ax,OFFSET LBOXCTLWNDPROC mov dx,SEG LBOXCTLWNDPROC push dx push ax push WORD PTR [bp+14] ;hwnd push WORD PTR [bp+12] ;message push WORD PTR [bp+10] ;wParam push WORD PTR [bp+8] push WORD PTR [bp+6] ;lParam call FAR PTR CALLWINDOWPROC dec bp dec bp mov sp,bp pop ds pop bp dec bp ret 10
LBOXCTLWNDPROC ENDP
align 16
dd SUBCLASS_MAGIC dd 7 dd 0
SBWNDPROC PROC FAR inc bp push bp mov bp,sp push ds mov ax,DGROUP mov ds,ax mov ax,OFFSET SBWNDPROC mov dx,SEG SBWNDPROC push dx push ax push WORD PTR [bp+14] ;hwnd push WORD PTR [bp+12] ;message push WORD PTR [bp+10] ;wParam push WORD PTR [bp+8] push WORD PTR [bp+6] ;lParam call FAR PTR CALLWINDOWPROC dec bp dec bp mov sp,bp pop ds pop bp dec bp ret 10
SBWNDPROC ENDP
align 16
dd SUBCLASS_MAGIC dd 8 dd 0
STATICWNDPROC PROC FAR inc bp push bp mov bp,sp push ds mov ax,DGROUP mov ds,ax mov ax,OFFSET STATICWNDPROC mov dx,SEG STATICWNDPROC push dx push ax push WORD PTR [bp+14] ;hwnd push WORD PTR [bp+12] ;message push WORD PTR [bp+10] ;wParam push WORD PTR [bp+8] push WORD PTR [bp+6] ;lParam call FAR PTR CALLWINDOWPROC dec bp dec bp mov sp,bp pop ds pop bp dec bp ret 10
STATICWNDPROC ENDP
align 16
dd SUBCLASS_MAGIC dd 6 dd 0
MDICLIENTWNDPROC PROC FAR inc bp push bp mov bp,sp push ds mov ax,DGROUP mov ds,ax mov ax,OFFSET MDICLIENTWNDPROC mov dx,SEG MDICLIENTWNDPROC push dx push ax push WORD PTR [bp+14] ;hwnd push WORD PTR [bp+12] ;message push WORD PTR [bp+10] ;wParam push WORD PTR [bp+8] push WORD PTR [bp+6] ;lParam call FAR PTR CALLWINDOWPROC dec bp dec bp mov sp,bp pop ds pop bp dec bp ret 10
MDICLIENTWNDPROC ENDP
align 16
dd SUBCLASS_MAGIC dd 0bh ; 11 decimal dd 0
TITLEWNDPROC PROC FAR inc bp push bp mov bp,sp push ds mov ax,DGROUP mov ds,ax mov ax,OFFSET TITLEWNDPROC mov dx,SEG TITLEWNDPROC push dx push ax push WORD PTR [bp+14] ;hwnd push WORD PTR [bp+12] ;message push WORD PTR [bp+10] ;wParam push WORD PTR [bp+8] push WORD PTR [bp+6] ;lParam call FAR PTR CALLWINDOWPROC dec bp dec bp mov sp,bp pop ds pop bp dec bp ret 10
TITLEWNDPROC ENDP
align 16
dd SUBCLASS_MAGIC dd 0ch ; 12 decimal dd 0
MENUWINDOWPROC PROC FAR inc bp push bp mov bp,sp push ds mov ax,DGROUP mov ds,ax mov ax,OFFSET MENUWINDOWPROC mov dx,SEG MENUWINDOWPROC push dx push ax push WORD PTR [bp+14] ;hwnd push WORD PTR [bp+12] ;message push WORD PTR [bp+10] ;wParam push WORD PTR [bp+8] push WORD PTR [bp+6] ;lParam call FAR PTR CALLWINDOWPROC dec bp dec bp mov sp,bp pop ds pop bp dec bp ret 10
MENUWINDOWPROC ENDP
align 16
dd SUBCLASS_MAGIC dd 0ah ; 10 decimal dd 0
DEFDLGPROCTHUNK PROC FAR inc bp push bp mov bp,sp push WORD PTR [bp+14] ;hwnd push WORD PTR [bp+12] ;message push WORD PTR [bp+10] ;wParam push WORD PTR [bp+8] push WORD PTR [bp+6] ;lParam call FAR PTR DEFDLGPROC mov sp,bp pop bp dec bp ret 10
DEFDLGPROCTHUNK ENDP
align 16
dd SUBCLASS_MAGIC dd 9 dd 0
DESKTOPWNDPROC PROC FAR inc bp push bp mov bp,sp push ds mov ax,DGROUP mov ds,ax mov ax,OFFSET DESKTOPWNDPROC mov dx,SEG DESKTOPWNDPROC push dx push ax push WORD PTR [bp+14] ;hwnd push WORD PTR [bp+12] ;message push WORD PTR [bp+10] ;wParam push WORD PTR [bp+8] push WORD PTR [bp+6] ;lParam call FAR PTR CALLWINDOWPROC dec bp dec bp mov sp,bp pop ds pop bp dec bp ret 10
DESKTOPWNDPROC ENDP
_TEXT ENDS
END
|