WIN32汇编语言教程:第08章 通用对话框 · 8.1 通用对话框简介(3)
mov stFind.Flags,FR_DOWN mov stFind.lpstrFindWhat,offset szFindText mov stFind.wFindWhatLen,sizeof szFindText mov stFind.lpstrReplaceWith,offset szReplaceText mov stFind.wReplaceWithLen,sizeof szReplaceText invoke RegisterWindowMessage,addr FINDMSGSTRING mov idFindMessage,eax .elseif eax== WM_COMMAND mov eax,wParam .if ax == IDM_EXIT invoke EndDialog,hWnd,NULL .elseif ax== IDM_OPEN invoke _OpenFile .elseif ax == IDM_SAVEAS invoke _SaveAs .elseif ax == IDM_PAGESETUP invoke _PageSetup .elseif ax == IDM_FIND and stFind.Flags,not FR_DIALOGTERM invoke FindText,addr stFind .elseif ax == IDM_REPLACE and stFind.Flags,not FR_DIALOGTERM invoke ReplaceText,addr stFind .elseif ax == IDM_SELFONT invoke _ChooseFont .elseif ax == IDM_SELCOLOR invoke _ChooseColor .endif ;******************************************************************** .elseif eax == idFindMessage xor ecx,ecx .if stFind.Flags & FR_FINDNEXT mov ecx,offset szFindNext .elseif stFind.Flags & FR_REPLACE mov ecx,offset szReplace .elseif stFind.Flags & FR_REPLACEALL mov ecx,offset szReplaceAll .endif .if ecx invoke wsprintf,addr szBuffer,\ addr szFormatFind,\ ecx,addr szFindText,addr szReplaceText invoke MessageBox,hWinMain,addr szBuffer,\ addr szCaption,MB_OK .endif ;******************************************************************** .else mov eax,FALSE ret .endif mov eax,TRUE ret _ProcDlgMain endp ;#################################################################### start: invoke GetModuleHandle,NULL mov hInstance,eax invoke DialogBoxParam,hInstance,DLG_MAIN,NULL,\ offset _ProcDlgMain,NULL invoke ExitProcess,NULL ;#################################################################### end start
资源脚本文件CommDlg.rc的内容如下:
//################################################################## #include <resource.h> //################################################################## #define ICO_MAIN 1000 #define DLG_MAIN 1000 #define IDM_MAIN 1000 #define IDM_OPEN 1101 #define IDM_SAVEAS 1102 #define IDM_PAGESETUP 1103 #define IDM_EXIT 1104 #define IDM_FIND 1201 #define IDM_REPLACE 1202 #define IDM_SELFONT 1203 #define IDM_SELCOLOR 1204 //################################################################## ICO_MAIN ICON "Main.ico" //################################################################## DLG_MAIN DIALOG 193, 180, 310, 134 MENU IDM_MAIN STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME CAPTION "通用对话框示例" FONT 9, "宋体" { } //################################################################## IDM_MAIN menu discardable BEGIN popup "文件(&F)" BEGIN menuitem "打开文件(&O)...", IDM_OPEN menuitem "文件另存为(&C)...",IDM_SAVEAS menuitem separator menuitem "页面设置(&P)...",IDM_PAGESETUP menuitem separator menuitem "退出(&X)", IDM_EXIT END popup "查看(&V)" BEGIN menuitem "查找字符串(&S)...",IDM_FIND menuitem "替换字符串(&R)...",IDM_REPLACE menuitem separator menuitem "选择字体(&F)...",IDM_SELFONT menuitem "选择颜色(&B)...",IDM_SELCOLOR END END //##################################################################
在资源脚本文件中定义了一个对话框用做主窗口,同时定义了一个菜单用来选择各种通用对话框。下面结合这个例子说明各种通用对话框的用法。
上页:第08章 通用对话框 · 8.1 通用对话框简介(2) 下页:第08章 通用对话框 · 8.2 使用通用对话框(1)
第08章 通用对话框
版权所有 © 云南伯恩科技 证书:粤ICP备09170368号