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

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

?? 多個文件的工程---增強poppad.txt

?? 會變語言實現的一些程序
?? TXT
?? 第 1 頁 / 共 4 頁
字號:
多個文件的工程---增強POPPAD 
相關的例子:下載>>>  作者:Zoologist 于2008-8-17上傳   

--------------------------------------------------------------------------------

我們之前編寫的程序都是非常簡單的單文件,下面的程序是稍微復雜的結構:一個主程序和若干個完成不同功能的程序。

首先,還是選擇建立Win32 EXE 程序。



然后給工程命名,這幾步同普通的程序沒有差別。



建立成功之后,寫好主程序,再逐步添加其余各個文件,第一種方法是,從新文件中創建,



將會新建出來一個空白文檔:



在新建的文檔中選擇參數設置:



設置為下面這個樣子:



之后,新建立的文件就可以先編譯為OBJ文件,再同主文件一起編譯生成需要的結果了。



如果你已經有了文件,打算加入工程中,請選擇“導入文件”



選擇你想加入的文件即可,加入新文件之后,按照上面提到的,設置相同的參數即可。

增強POPPAD


當我們向前面一期POPPAD中增加菜單時,還有幾個標準菜單項沒有做完。現在我們已經準備好在POPPAD中加入打開文件、讀入文件以及在磁盤上儲存編輯過文件的功能。在處理中,我們還將在POPPAD中加入字體選擇和搜索替換功能。

實作POPPAD3程序的文件如程序11-6所示。


程序11-6 POPPAD3 

        
POPPAD.ASM
        
;MASMPlus 代碼模板 - 普通的 Windows 程序代碼

.386
.Model Flat, StdCall
Option Casemap :None

Include windows.inc
Include user32.inc
Include kernel32.inc
Include gdi32.inc

includelib gdi32.lib
IncludeLib user32.lib
IncludeLib kernel32.lib
include macro.asm
	
	WinMain PROTO :DWORD,:DWORD,:DWORD,:DWORD
	AboutDlgProc PROTO :HWND,:UINT,:WPARAM,:LPARAM
;Functions in POPFILE.ASM
PopFileInitialize       PROTO :HWND
PopFileOpenDlg          PROTO :HWND, :PTSTR, :PTSTR
PopFileSaveDlg          PROTO :HWND, :PTSTR, :PTSTR
PopFileRead             PROTO :HWND, :PTSTR
PopFileWrite            PROTO :HWND, :PTSTR

;Functions in POPFIND.ASM
PopFindFindDlg          PROTO :HWND
PopFindReplaceDlg       PROTO :HWND
PopFindFindText         PROTO :HWND,:DWORD, :DWORD
PopFindReplaceText      PROTO :HWND,:DWORD, :DWORD
PopFindNextText         PROTO :HWND,:DWORD
PopFindValidFind        PROTO 

;Functions in POPFONT.ASM
PopFontInitialize	PROTO :HWND
PopFontChooseFont	PROTO :HWND
PopFontSetFont		PROTO :HWND
PopFontDeinitialize 	PROTO

;Functions in POPPRNT.ASM
;BOOL PopPrntPrintFile (HINSTANCE, HWND, HWND, PTSTR) ;

	EDITID   equ	1

IDC_FILENAME     equ     1000
IDM_FILE_NEW     equ     40001
IDM_FILE_OPEN    equ     40002
IDM_FILE_SAVE    equ     40003
IDM_FILE_SAVE_AS equ     40004
IDM_FILE_PRINT   equ     40005
IDM_APP_EXIT     equ     40006
IDM_EDIT_UNDO    equ     40007
IDM_EDIT_CUT     equ     40008
IDM_EDIT_COPY    equ     40009
IDM_EDIT_PASTE   equ     40010
IDM_EDIT_CLEAR   equ     40011
IDM_EDIT_SELECT_ALL equ  40012
IDM_SEARCH_FIND  equ     40013
IDM_SEARCH_NEXT  equ     40014
IDM_SEARCH_REPLACE  equ   40015
IDM_FORMAT_FONT   equ    40016
IDM_HELP         equ     40017
IDM_APP_ABOUT    equ     40018
	

.DATA
	UNTITLED    db "(untitled)",0
	szAppName   db "PopPad",0
        bNeedSave   BOOL	FALSE
        FINDMSGSTRING  db	"commdlg_FindReplace",0
        nullStr	    db	0
.DATA?
        hwndEdit    HWND	?
        hInst       HINSTANCE	?
        iOffset     DWORD	?
        szFileName  db	MAX_PATH	dup(?)
        szTitleName db	MAX_PATH	dup(?)
        messageFindReplace UINT	?        
        hDlgModeless HWND  	?
.CODE
START:

	invoke GetModuleHandle,NULL
	invoke WinMain,eax,NULL,NULL,SW_SHOWDEFAULT
	invoke ExitProcess,0

WinMain proc hInstance:DWORD,hPrevInst:DWORD,szCmdLine:DWORD,iCmdShow:DWORD
	LOCAL msg  :MSG
	local hwnd :HWND
	LOCAL wndclass   :WNDCLASSEX
	LOCAL hAccel:HACCEL
	
	mov wndclass.cbSize,sizeof WNDCLASSEX	
	mov wndclass.style,CS_HREDRAW or CS_VREDRAW	
	mov wndclass.lpfnWndProc,offset WndProc

	mov wndclass.cbClsExtra,0
	mov wndclass.cbWndExtra,0
	
	push hInstance
	pop wndclass.hInstance
	
	invoke LoadIcon,NULL,IDI_APPLICATION
	mov wndclass.hIcon,eax	
	
	invoke LoadCursor,NULL,IDC_ARROW
	mov wndclass.hCursor,eax	
	
	invoke GetStockObject,WHITE_BRUSH
	mov wndclass.hbrBackground,EAX
	
	mov wndclass.lpszMenuName,offset szAppName
	mov wndclass.lpszClassName,offset szAppName

	mov wndclass.hIconSm,0
	
	invoke RegisterClassEx, ADDR wndclass
	.if (EAX==0)
		 invoke MessageBox,NULL,CTXT("This program requires Windows NT!"),addr szAppName,MB_ICONERROR 		
		 ret
	.endif
        
	invoke CreateWindowEx,
					NULL,
					ADDR szAppName, 					;window class name
					ADDR szAppName, 
					WS_OVERLAPPEDWINDOW,					;window style
					CW_USEDEFAULT,						;initial x position
					CW_USEDEFAULT,						;initial y position
					CW_USEDEFAULT, 						;initial x size
					CW_USEDEFAULT,						;initial y size
					NULL,							;parent window handle
					NULL,							;window menu handle
					hInstance,							;program instance handle
					szCmdLine										;creation parameters
	mov hwnd,eax
	
	invoke ShowWindow,hwnd,iCmdShow
	invoke UpdateWindow,hwnd
	
	StartLoop:
		invoke GetMessage,ADDR msg,NULL,0,0
			cmp eax, 0
			je ExitLoop
				invoke IsDialogMessage,hDlgModeless,addr msg
				.if	(eax!=TRUE)||hDlgModeless==NULL
					invoke	TranslateAccelerator,hwnd, hAccel,addr msg
					.if	(eax!=TRUE)
						invoke TranslateMessage, ADDR msg
						invoke DispatchMessage,  ADDR msg
					.endif
				.endif	
			jmp StartLoop
	ExitLoop:
	
	mov eax,msg.wParam
	ret

WinMain endp

DoCaption	proc hwnd:HWND,szTName:DWORD
	LOCAL	szCaption[64 + MAX_PATH]:TCHAR
	mov	esi,szTName
	mov	al,[esi]
	.if	al == FALSE
           	mov	ebx,offset UNTITLED 
        .else	
           	mov	ebx,szTName
        .endif
        invoke	wsprintf,addr szCaption, CTXT("%s - %s"),addr szAppName,ebx
        invoke	SetWindowText,hwnd, addr szCaption
        ret
DoCaption	endp

OkMessage	proc	hwnd:HWND,szMessage:DWORD,szTName:DWORD
        LOCAL	szBuffer[64 + MAX_PATH]:TCHAR 
        mov	esi,szTName
        mov	al,[esi]
        .if	al == FALSE
           	mov	ebx,offset UNTITLED 
        .else	
           	mov	ebx,szTName
        .endif           
        invoke	wsprintf,addr szBuffer,szMessage,ebx
	invoke	MessageBox,hwnd,addr szBuffer,addr szAppName, MB_OK or MB_ICONEXCLAMATION
        ret
OkMessage	endp

AskAboutSave	proc hwnd:HWND , szTName:DWORD
	LOCAL	szBuffer[64 + MAX_PATH]:TCHAR
        LOCAL	iReturn:DWORD

        mov	esi,szTName
        mov	al,[esi]
        .if	al ==FALSE
           	mov	ebx,offset UNTITLED 
        .else	
           	mov	ebx,szTName
        .endif
           
        invoke	wsprintf,addr szBuffer, CTXT ("Save current changes in %s?"),ebx
        invoke	MessageBox,hwnd,addr szBuffer,addr szAppName,MB_YESNOCANCEL or MB_ICONQUESTION
        mov	iReturn,eax
        .if (iReturn == IDYES)
          	invoke	SendMessage,hwnd, WM_COMMAND, IDM_FILE_SAVE, 0
               .if	(eax==FALSE)
                    	mov	eax,IDCANCEL
                    	mov	iReturn,eax
		.endif
	.endif
	mov	eax,iReturn 
        ret
AskAboutSave	endp
        
PopPrntPrintFile	proc	hInstPRN:HINSTANCE,hwnd:HWND,hwndEditPRN:HWND, pstrTitleName:PTSTR
	mov	eax,FALSE
	ret
PopPrntPrintFile	endp

WndProc proc hwnd:DWORD,message:DWORD,wParam :DWORD,lParam :DWORD
         LOCAL	iSelBeg, iSelEnd, iEnable:DWORD
         LOCAL	pfr:DWORD	;LPFINDREPLACE
;LPFINDREPLACE 是指向如下結構體的指針    
;FINDREPLACEA STRUCT
;  lStructSize       DWORD      ?
;  hwndOwner         DWORD      ?
;  hInstance         DWORD      ?
;  Flags             DWORD      ?
;  lpstrFindWhat     DWORD      ?
;  lpstrReplaceWith  DWORD      ?
;  wFindWhatLen       WORD      ?
;  wReplaceWithLen    WORD      ?
;  lCustData         DWORD      ?
;  lpfnHook          DWORD      ?
;  lpTemplateName    DWORD      ?
;FINDREPLACEA ENDS

	.if message==WM_CREATE
		mov	esi,lParam
		mov	eax,[esi+4]
		mov	hInst,eax
               ;Create the edit control child window
        
                invoke  CreateWindowEx,NULL,CTXT ("edit"), NULL,
                        WS_CHILD or WS_VISIBLE or WS_HSCROLL or WS_VSCROLL or \
                        WS_BORDER or ES_LEFT or ES_MULTILINE or \
                        ES_NOHIDESEL or ES_AUTOHSCROLL or ES_AUTOVSCROLL,
                        0, 0, 0, 0,
                        hwnd, EDITID, hInst, NULL
		mov	hwndEdit,eax

                invoke	SendMessage,hwndEdit, EM_LIMITTEXT, 32000, 0
        
                ;Initialize common dialog box stuff
        
                invoke PopFileInitialize,hwnd
                invoke PopFontInitialize,hwndEdit
                invoke RegisterWindowMessage,addr	FINDMSGSTRING
                mov	messageFindReplace,eax
                invoke DoCaption,hwnd,addr szTitleName

	        xor	eax,eax
	        ret
	.elseif message ==  WM_SETFOCUS
		invoke	SetFocus,hwndEdit
                xor	eax,eax
	        ret	        
	.elseif message ==  WM_SIZE
		mov	eax,lParam
		and	eax,0FFFFh
		mov	ebx,lParam
		shr	ebx,16
                invoke	MoveWindow,hwndEdit, 0, 0, eax,ebx, TRUE
                xor	eax,eax
	        ret
	.elseif message == WM_INITMENUPOPUP
        	mov	eax,lParam
		.if	eax==1      ; Edit menu
                                    ; Enable Undo if edit control can do it
                        invoke	 SendMessage,hwndEdit, EM_CANUNDO, 0, 0            
                        .if	eax==FALSE
                        	mov	ebx,MF_GRAYED
                        .else
                        	mov	ebx,MF_ENABLED
                        .endif
                        invoke	EnableMenuItem,wParam, IDM_EDIT_UNDO,ebx
                        
        			    ; Enable Paste if text is in the clipboard
        		invoke	 IsClipboardFormatAvailable,CF_TEXT
                        .if	eax==FALSE
                        	mov	ebx,MF_GRAYED
                        .else
                        	mov	ebx,MF_ENABLED
                        .endif        		
                        invoke	EnableMenuItem,wParam, IDM_EDIT_PASTE,ebx
                        	    ; Enable Cut, Copy, and Del if text is selected
                        invoke  SendMessage,hwndEdit, EM_GETSEL, addr iSelBeg,addr iSelEnd

                        .if	iSelEnd==FALSE

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕日韩欧美一区二区三区| 欧美视频在线一区二区三区 | 国产suv精品一区二区三区| 亚洲电影欧美电影有声小说| 亚洲精品伦理在线| 亚洲视频一区在线观看| 一区二区视频免费在线观看| 亚洲日本一区二区三区| 亚洲精品视频一区二区| 夜夜嗨av一区二区三区中文字幕| 亚洲综合视频网| 丝袜美腿亚洲色图| 久久成人麻豆午夜电影| 国产酒店精品激情| www..com久久爱| 99re8在线精品视频免费播放| 91污片在线观看| 欧美影视一区在线| 日韩欧美一区在线观看| www一区二区| 中文字幕视频一区| 日韩黄色小视频| 国v精品久久久网| 一本高清dvd不卡在线观看| 欧美日韩国产片| 久久久欧美精品sm网站| |精品福利一区二区三区| 亚洲图片有声小说| 国产精品1区2区| 欧洲中文字幕精品| 精品国产1区2区3区| 中文字幕亚洲成人| 日本美女一区二区| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 精品国产一区二区三区av性色| 国产色产综合色产在线视频| 亚洲国产三级在线| 国产精品2024| 欧美一级国产精品| 综合色中文字幕| 极品瑜伽女神91| 欧美优质美女网站| 久久久久久久久久久黄色| 亚洲bt欧美bt精品777| 成人免费视频一区| 日韩欧美一级精品久久| 国产精品麻豆网站| 久久国产生活片100| 欧美羞羞免费网站| 中文一区在线播放| 经典三级视频一区| 日韩一级欧美一级| 亚洲你懂的在线视频| 国产成人av福利| 日韩一级成人av| 亚洲国产成人av网| 91美女精品福利| 国产精品的网站| 国产精品一区二区三区99| 欧美一区二区免费观在线| 亚洲国产欧美一区二区三区丁香婷| 国v精品久久久网| 国产亚洲美州欧州综合国| 久久精品72免费观看| 欧美一区二区三区色| 亚洲国产精品欧美一二99| 色综合久久久久网| 中文字幕在线免费不卡| 成人精品国产一区二区4080| 久久久久久亚洲综合影院红桃| 日本视频中文字幕一区二区三区| 欧美日韩成人综合| 亚洲gay无套男同| 欧美精品三级日韩久久| 午夜精品一区二区三区免费视频 | 91精品国产综合久久蜜臀 | 欧美日韩高清一区二区不卡| 亚洲网友自拍偷拍| 69p69国产精品| 日本va欧美va瓶| 日韩一卡二卡三卡| 国产真实乱对白精彩久久| 亚洲精品在线免费观看视频| 韩国理伦片一区二区三区在线播放| 日韩一级片在线观看| 国产乱色国产精品免费视频| 欧美激情在线看| 91久久免费观看| 日韩电影网1区2区| 久久久久久久国产精品影院| 成人美女在线视频| 一区二区三区在线看| 欧美久久久久久久久中文字幕| 视频一区视频二区在线观看| 精品免费国产一区二区三区四区| 国产精品1区2区3区在线观看| 中文字幕中文乱码欧美一区二区| 色哦色哦哦色天天综合| 午夜欧美在线一二页| 精品国产一区二区国模嫣然| aa级大片欧美| 日韩影院在线观看| 中文天堂在线一区| 欧美唯美清纯偷拍| 国产又黄又大久久| 一区二区三区免费| 日韩精品在线一区二区| 成人黄色小视频| 免费在线看一区| 国产精品久久毛片a| 91麻豆精品国产自产在线 | 免费视频最近日韩| 国产精品你懂的在线欣赏| 欧美性xxxxxx少妇| 东方aⅴ免费观看久久av| 亚洲一区在线观看视频| 久久女同性恋中文字幕| 欧美视频精品在线观看| 成人激情动漫在线观看| 免费亚洲电影在线| 一区二区三区四区视频精品免费 | 成人午夜免费av| 日本特黄久久久高潮| 亚洲欧美另类小说| 久久伊人中文字幕| 欧美日韩一区高清| 91在线免费看| 国产盗摄女厕一区二区三区| 日韩av中文字幕一区二区三区 | 一本高清dvd不卡在线观看| 国产最新精品免费| 日韩综合小视频| 亚洲一区二区精品视频| 亚洲图片欧美激情| 中文一区在线播放| 国产午夜三级一区二区三| 欧美高清视频一二三区 | 欧美午夜影院一区| 成人动漫一区二区在线| 国产毛片精品视频| 天天操天天干天天综合网| 亚洲人成亚洲人成在线观看图片| 国产欧美日韩久久| 久久色视频免费观看| 精品少妇一区二区三区视频免付费 | 婷婷综合五月天| 亚洲欧美日韩在线| 国产精品水嫩水嫩| 欧美国产亚洲另类动漫| 国产午夜三级一区二区三| 久久九九影视网| 久久精品人人做| 久久精品夜色噜噜亚洲aⅴ| 精品99久久久久久| 国产色产综合产在线视频| 国产视频一区在线观看| 久久久亚洲国产美女国产盗摄| 精品国免费一区二区三区| 亚洲精品一区二区三区蜜桃下载| 日韩小视频在线观看专区| 日韩欧美中文字幕精品| 精品成人a区在线观看| 精品国产乱码久久久久久久| 亚洲精品一区二区三区99| 国产性做久久久久久| 国产精品久久二区二区| 亚洲乱码国产乱码精品精可以看 | 成人高清视频在线| 91毛片在线观看| 欧美日韩一区二区电影| 欧美精品高清视频| xnxx国产精品| 国产精品成人一区二区三区夜夜夜| 国产精品久久久久久久久果冻传媒| 国产精品久久久久久久久动漫 | 日韩亚洲欧美成人一区| 日韩美女一区二区三区四区| 久久久亚洲午夜电影| 亚洲品质自拍视频| 日韩成人午夜精品| 成人精品视频.| 欧美精品成人一区二区三区四区| 2017欧美狠狠色| 亚洲午夜成aⅴ人片| 国产专区欧美精品| 91成人国产精品| 久久这里都是精品| 亚洲国产三级在线| 成人看片黄a免费看在线| 欧美日韩中文字幕一区二区| 久久蜜桃香蕉精品一区二区三区| 亚洲人吸女人奶水| 国产在线精品一区二区| 在线视频观看一区| 久久无码av三级| 日韩精品午夜视频| 91视频免费播放| 久久亚洲精品国产精品紫薇| 亚洲福利视频三区| av电影在线观看一区|