亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? drawwin.asm

?? 用匯編寫的win32程序一些例子。
?? ASM
字號:
	.386
	.model flat,STDCALL

	extrn Dispatch : PROC, hwndFrame : DWORD, hwndClient : DWORD
	extrn handlesb : PROC ,scrollkeys : PROC
	extrn DisplayWindowBars: PROC, SetBarRanges : PROC
	extrn ShiftState : BYTE
	extrn OpenFileDialog : PROC, SaveFileDialog : PROC

include win32.asi           ; some 32-bit constants and structures
include win32.ase
include commdlg.asi
include fdid.asi
include fdui.asi

	.data
Public numberofdrawwindows
numberofdrawwindows dd	?
childxpos	dd	?
childypos	dd	?
szMyName	db	'Unknown',0
szDrawClassName      db 'LADsoftGPLDraw',0

	.code

public RegisterDrawWindow
RegisterDrawWindow PROC hInst : DWORD
	LOCAL 	wc : WNDCLASS, \
		bluebrush : LOGBRUSH, hBrush : dword
; make us a blue brush
;
	mov	[bluebrush.lbStyle],BS_SOLID
	mov	[bluebrush.lbColor],0FF0000h
	mov	[bluebrush.lbHatch],0

	lea	eax,[bluebrush]
	call	CreateBrushIndirect,eax
	mov	[hBrush],eax
;
; initialize the DrawClass structure
;
        mov     [wc.clsStyle], CS_HREDRAW + CS_VREDRAW + CS_GLOBALCLASS
        mov     [wc.clsLpfnWndProc], offset DrawProc
        mov     [wc.clsCbClsExtra], 0
        mov     [wc.clsCbWndExtra], 4	; pointer for window instance data

        mov     eax, [hInst]
        mov     [wc.clsHInstance], eax

        call    LoadIcon,0,IDI_APPLICATION
        mov     [wc.clsHIcon], eax

        call    LoadCursor,0,IDC_ARROW
        mov     [wc.clsHCursor], eax

	mov	eax,[hBrush]
        mov     [wc.clsHbrBackground], eax
        mov     [dword ptr wc.clsLpszMenuName], 0
        mov     [dword ptr wc.clsLpszClassName], offset szDrawClassName

	lea	eax,[wc]
        call    RegisterClass,eax
;
; delete the blue brush
;
	call	DeleteObject,[hBrush]
	ret
RegisterDrawWindow	ENDP

public CreateDrawWindow
CreateDrawWindow PROC  hInst : dword
	LOCAL	mc : MDICREATESTRUCT

	; first create the window
	inc	[numberofdrawwindows]
	mov	[mc.szClass],offset szDrawClassName
	mov	[mc.szTitle], offset szMyName
	mov	eax,[hInst]
	mov	[mc.hOwner], eax
	mov	eax,[childxpos]
	mov	[mc.x],eax
	mov	eax,[childypos]
	mov	[mc.y],eax
	mov	[mc.cxc],0
	mov	[mc.cyc],0
	mov	[mc.style],0
	mov	[mc.lParam],0
	lea	eax,[mc]
	call	SendMessage,[hwndClient],WM_MDICREATE,0,eax
	;
	; update next window pos
	;
	add	[childxpos],20
	add	[childypos],20
	cmp	[childxpos],120
	jc	nopos0
	mov	[childxpos],0
	mov	[childypos],0
nopos0:
	ret
CreateDrawWindow ENDP

public DrawProc

DrawProc PROC uses ebx edi esi, hwnd:DWORD, wmsg:DWORD, wparam:DWORD, lparam:DWORD
	
	mov	eax,[wmsg]
	call	Dispatch
	dd	10
	dd	WM_SYSCOMMAND,wmsyscommand
	dd	WM_COMMAND,wmcommand
	dd	WM_HSCROLL,wmhscroll
	dd	WM_VSCROLL,wmvscroll
	dd	WM_KEYDOWN,wmkeydown
	dd	WM_KEYUP,wmkeyup
	dd	WM_CREATE,wmcreate
	dd	WM_CLOSE, wmclose
	dd	WM_DESTROY,wmdestroy
	dd	WM_QUERYENDSESSION,wmqueryend
	jnc	dp_nodef
	call	dpdef
dp_nodef:
	ret
dpdef 	PROC
	call	DefMDIChildProc,hwnd,wmsg,wparam,lparam
	ret
dpdef	ENDP
wmcreate	PROC
	;
	; Get the name of the file
	; we have to do this first so we don't allocate stuff if
	; we aren't going to have a window
	;
	call	OpenFileDialog,0,[hwnd]
	or	eax,eax
	jnz	opened
	mov	eax,-1
	ret
opened:
	push	esi
	push	edi
	push	ebx
	push	eax
	;
	; now install the window data
	;
	call	GetProcessHeap
	call	HeapAlloc,eax,HEAP_ZERO_MEMORY,size dwinfo
	push	eax
	call	SetWindowLong,[hwnd],0,eax
	pop	ebx
	;
	; init the window data.  The heap alloc we did is nonmoveable, so
	;
	mov	[ebx + dwinfo.phsb.sbheight],200
	mov	[ebx + dwinfo.phsb.sbstyle],SB_HORZ
	mov	[ebx + dwinfo.phsb.sbpaging],10
	mov	[ebx + dwinfo.pvsb.sbheight],200
	mov	[ebx + dwinfo.pvsb.sbstyle],SB_VERT
	mov	[ebx + dwinfo.pvsb.sbpaging],10
	;
	; set the window title and file name strings
	;
	pop	ecx
	push	ecx
	mov	esi,[ecx].oflpstrFileTitle
	lea	edi,[ebx].dwTitle
cplp:
	lodsb
	stosb
	or	al,al
	jnz	cplp
	lea	eax,[ebx].dwTitle
	call	SetWindowText,[hwnd],eax
	pop	ecx
	mov	esi,[ecx].oflpstrFile
	lea	edi,[ebx].dwFileName
cplp2:
	lodsb
	stosb
	or	al,al
	jnz	cplp2
	;
	; now put the scrollbars up and show them
	;
	lea	eax,[ebx + dwinfo.pvsb]
	call	SetBarRanges,[hwnd],ebx,eax
	call    ShowScrollBar,[hwnd],SB_BOTH,1
	pop	ebx
	pop	edi
	pop	esi
	sub	eax,eax
	ret
wmcreate	ENDP
wmdestroy	PROC
	;
	; now get rid of any window memory.
	;
	dec	[numberofdrawwindows]
	call	GetWindowLong,[hwnd],0
	push	eax
	call	GetProcessHeap
	pop	ebx
	call	HeapFree,eax,0,ebx
	sub	eax,eax
	ret
wmdestroy	ENDP

wmkeydown PROC
	call	GetWindowLong,[hwnd],0
	lea	eax,[eax + dwinfo.phsb]
	call	scrollkeys,[hwnd],[wparam],eax
	cmp	[wparam],VK_SHIFT
	jnz	wmkdx
	mov	[ShiftState],1
	sub	eax,eax
	ret
wmkdx:
	call	dpdef
	sub	eax,eax
	ret
wmkeydown ENDP
wmkeyup PROC
	cmp	[wparam],VK_SHIFT
	jnz	wmkux
	mov	[ShiftState],0
	call	dpdef
	sub	eax,eax
	ret
wmkux:
	sub	eax,eax
	ret
wmkeyup ENDP
wmhscroll PROC
	; update scroll pos
	call	GetWindowLong,[hwnd],0
	mov	ebx,[wparam]
	mov	ecx,ebx
	movzx	ebx,bx
	shr	ecx,16
	lea	eax,[eax + dwinfo.phsb]
	call	handlesb,[hwnd],eax,ebx,ecx
	sub	eax,eax
	ret
wmhscroll ENDP
wmvscroll PROC
	; update scroll pos
	call	GetWindowLong,[hwnd],0
	mov	ebx,[wparam]
	mov	ecx,ebx
	movzx	ebx,bx
	shr	ecx,16
	lea	eax,[eax + dwinfo.pvsb]
	call	handlesb,[hwnd],eax,ebx,ecx
	sub	eax,eax
	ret
wmvscroll ENDP
wmclose PROC
	call	SendMessage,[hwnd],WM_QUERYENDSESSION,0,0
	or	eax,eax
	jz	wmcclosex
	call	SendMessage,[hwnd],WM_COMMAND,IDM_SAVE,0
	call	dpdef
	sub	eax,eax
	ret
wmcclosex:
	mov	eax,-1
	ret
wmclose ENDP
wmsyscommand PROC
	mov	eax,[wparam]
	movzx	eax,ax		; get rid of accel flag
	call	Dispatch
	dd	1
	dd	SC_CLOSE,dpcclose
	call	DefMDIChildProc,hwnd,wmsg,wparam,lparam
	sub	eax,eax
	ret
wmsyscommand ENDP
wmcommand PROC
	mov	eax,[wparam]
	call	Dispatch
	dd	3
	dd	IDM_SAVE,wmcsave
	dd	IDM_SAVEAS,wmcsaveas
	dd	IDM_CLOSE,wmcclose
	ret
wmcclose	PROC
	call	SendMessage,[hwnd],WM_CLOSE,0,0
	ret
wmcclose	ENDP
wmcsaveas PROC
	call	GetWindowLong,[hwnd],0
	mov	ebx,eax
	lea	eax,[eax].dwTitle
	call	SaveFileDialog,eax,[hwnd]
	or	eax,eax
	jnz	accepted
	sub	eax,eax
	ret
accepted:
	mov	ecx,eax
	;
	; set the window title and file name strings
	;
	push	ecx
	mov	esi,[ecx].oflpstrFileTitle
	lea	edi,[ebx].dwTitle
cplp3:
	lodsb
	stosb
	or	al,al
	jnz	cplp3
	lea	eax,[ebx].dwTitle
	call	SetWindowText,[hwnd],eax
	pop	ecx
	mov	esi,[ecx].oflpstrFile
	lea	edi,[ebx].dwFileName
cplp4:
	lodsb
	stosb
	or	al,al
	jnz	cplp4
	
wmcsaveas ENDP
;
; fall through
;
wmcsave PROC
	sub	eax,eax
	ret
wmcsave	ENDP
wmcommand ENDP
wmqueryend PROC
	mov	eax,1
	ret
wmqueryend ENDP
;
; we do this to keep up with changes elsewhere
;
dpcclose PROC
	call	SendMessage,[hwndFrame],WM_COMMAND,IDM_CLOSE,0
	sub	eax,eax
	ret
dpcclose ENDP

DrawProc ENDP
	end

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩免费性生活视频播放| 最新国产成人在线观看| 中文字幕免费观看一区| 亚洲一区二区欧美日韩| 国产精品一区二区黑丝| 欧美精品在线观看播放| 国产精品白丝在线| 久久精品国产77777蜜臀| 色av综合在线| 国产免费久久精品| 青青草视频一区| 欧美撒尿777hd撒尿| 国产精品毛片大码女人| 国产在线精品一区在线观看麻豆| 欧美日韩综合一区| 亚洲欧美日韩久久| 成人激情午夜影院| 欧美精品一区二区三区很污很色的| 亚洲国产综合91精品麻豆| 99re成人精品视频| 国产精品久久久久一区| 精品写真视频在线观看| 欧美一区二区视频在线观看2022| 亚洲h动漫在线| 欧美日韩亚洲综合在线 | 欧美一区二区在线免费观看| 亚洲色图视频网站| 97久久精品人人澡人人爽| 日本一区二区三区电影| 国产成人精品一区二区三区四区| 欧美xxxxx牲另类人与| 日韩av电影天堂| 欧美一区二区精品| 免费观看成人av| 精品国产亚洲在线| 精品一二三四区| 久久日韩精品一区二区五区| 激情久久五月天| 久久伊99综合婷婷久久伊| 国产九色精品成人porny| 国产欧美一区二区三区在线老狼| 国产精品一区二区在线看| 国产蜜臀av在线一区二区三区| av一区二区不卡| 亚洲精品国久久99热| 欧美美女一区二区| 久久爱另类一区二区小说| 久久夜色精品一区| 成人免费视频app| 亚洲精品国产无套在线观| 欧美日韩aaaaa| 久久成人羞羞网站| 亚洲国产成人午夜在线一区| 一本色道久久综合精品竹菊| 亚洲成av人综合在线观看| 日韩欧美的一区| 国产成人免费网站| 一区二区三区欧美亚洲| 91精品国产入口在线| 国产精品一区二区在线播放| 亚洲靠逼com| 日韩欧美一级片| 99国产麻豆精品| 日韩激情在线观看| 国产精品久久久久久久久久久免费看 | 成人国产视频在线观看| 亚洲精品高清在线| 2023国产精华国产精品| 91美女精品福利| 久久电影网站中文字幕| 亚洲人成精品久久久久久| 日韩视频在线永久播放| 99久久精品情趣| 韩国一区二区视频| 亚洲国产精品自拍| 国产精品国产三级国产普通话三级 | 久久综合九色欧美综合狠狠| 99精品欧美一区二区三区综合在线| 午夜欧美电影在线观看| 国产日韩欧美精品一区| 91麻豆精品国产自产在线观看一区 | 老司机精品视频一区二区三区| 国产精品久久久久久久久久免费看| 欧美日韩日日夜夜| 国产1区2区3区精品美女| 日日骚欧美日韩| 亚洲欧美在线另类| 精品国产一区二区三区四区四| 欧美在线观看视频一区二区| 成人一二三区视频| 九九国产精品视频| 日韩成人dvd| 亚洲一区二区精品3399| 中文字幕不卡三区| 久久久www免费人成精品| 日韩欧美一二三区| 欧美美女网站色| 欧美视频一区在线| 91女人视频在线观看| 风流少妇一区二区| 国产麻豆视频一区| 激情国产一区二区| 毛片av一区二区| 日韩电影在线观看电影| 亚洲成av人片| 亚洲国产日韩一区二区| 亚洲美女视频在线观看| ㊣最新国产の精品bt伙计久久| 久久在线免费观看| 亚洲精品一区二区三区蜜桃下载 | 免费av网站大全久久| 亚洲444eee在线观看| 亚洲国产色一区| 婷婷综合久久一区二区三区| 亚洲福利一二三区| 亚洲成年人影院| 日韩国产欧美在线视频| 欧美aaaaa成人免费观看视频| 亚洲成人精品一区二区| 午夜av区久久| 免费黄网站欧美| 国产一区二区三区精品欧美日韩一区二区三区 | 欧美色视频一区| 欧美电影一区二区三区| 91精品国产91热久久久做人人 | 天天影视涩香欲综合网| 肉丝袜脚交视频一区二区| 日韩国产一二三区| 麻豆国产欧美一区二区三区| 国精产品一区一区三区mba视频| 麻豆精品一区二区综合av| 国内精品国产三级国产a久久| 国产成人精品三级| 一本到高清视频免费精品| 欧美日韩精品一区二区三区| 欧美一区二区高清| 久久久91精品国产一区二区精品| 久久精品欧美一区二区三区麻豆 | 久久婷婷久久一区二区三区| 国产片一区二区| 一区二区三区不卡在线观看 | 一区二区高清在线| 五月综合激情日本mⅴ| 精品一二三四区| 99久久精品国产一区二区三区| 欧美色电影在线| 久久嫩草精品久久久久| 亚洲精品乱码久久久久久| 日精品一区二区| 成人一级黄色片| 678五月天丁香亚洲综合网| 久久久欧美精品sm网站| 一区二区三区在线视频播放| 美日韩一级片在线观看| 99re在线视频这里只有精品| 在线播放亚洲一区| 中文av一区二区| 日本亚洲电影天堂| 91尤物视频在线观看| 日韩视频一区二区三区在线播放| 国产清纯白嫩初高生在线观看91| 午夜欧美大尺度福利影院在线看| 国产91精品一区二区| 欧美喷水一区二区| 亚洲欧洲综合另类| 激情综合五月婷婷| 欧美浪妇xxxx高跟鞋交| 中国av一区二区三区| 精品一区二区日韩| 欧美三级视频在线| 亚洲美女视频在线| 国产成人免费av在线| 日韩免费看的电影| 亚洲自拍与偷拍| 99久久99久久精品免费看蜜桃| 日韩欧美亚洲国产另类| 亚洲超碰精品一区二区| 91视视频在线观看入口直接观看www | 色综合天天综合| 久久综合中文字幕| 日韩精品电影在线| 欧美在线你懂的| 亚洲欧洲制服丝袜| av电影在线观看不卡| 久久久99免费| 久久电影网电视剧免费观看| 欧美精品欧美精品系列| 亚洲美女免费视频| 99re6这里只有精品视频在线观看| 国产三级欧美三级日产三级99| 久久超碰97中文字幕| 日韩欧美国产一区二区在线播放| 亚洲丶国产丶欧美一区二区三区| 在线观看亚洲成人| 亚洲精品日韩一| 欧美亚洲动漫精品| 亚洲成人免费av| 91精品免费观看| 蜜桃视频在线观看一区二区| 日韩一区二区精品|