友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!阅读过程发现任何错误请告诉我们,谢谢!! 报告错误
飞读中文网 返回本书目录 我的书架 我的书签 TXT全本下载 进入书吧 加入书签

windows环境下32位汇编语言程序设计-第25章

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!




; Include 文件定义

;》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

include          windows。inc

include          user32。inc

includelib       user32。lib

include          kernel32。inc

includelib       kernel32。lib

;》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

; Equ 等值定义

;》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

ICO_MAIN         equ      1000h   ;图标

IDM_MAIN         equ      2000h   ;菜单

IDA_MAIN         equ      2000h   ;加速键

IDM_OPEN         equ      4101h

IDM_OPTION       equ      4102h

IDM_EXIT         equ      4103h

IDM_SETFONT      equ      4201h

IDM_SETCOLOR     equ      4202h

IDM_INACT        equ      4203h

IDM_GRAY         equ      4204h

IDM_BIG          equ      4205h

IDM_SMALL        equ      4206h

IDM_LIST         equ      4207h

IDM_DETAIL       equ      4208h

IDM_TOOLBAR      equ      4209h

IDM_TOOLBARTEXT  equ      4210h

IDM_INPUTBAR     equ      4211h

IDM_STATUSBAR    equ      4212h

IDM_HELP         equ      4301h

IDM_ABOUT        equ      4302h

;》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

; 数据段

;》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

                 。data?

hInstance        dd       ?

hWinMain         dd       ?

hMenu            dd       ?

hSubMenu         dd       ?

                 nst

szClassName      db   'Menu Example';0

szCaptionMain    db   'Menu';0

szMenuHelp       db   '帮助主题(&H)';0

szMenuAbout      db   '关于本程序(&A)。。。';0

szCaption        db   '菜单选择';0

szFormat         db   '您选择了菜单命令:%08x';0

;》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

; 代码段

;》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

                 de

;》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

_DisplayMenuItem      proc     _dwmandID

                      local    @szBuffer'256':byte

 

                 pushad

                 invoke   wsprintf;addr @szBuffer;addr szFormat;_dwmandID

                 invoke   MessageBox;hWinMain;addr @szBuffer;

                          offset szCaption;MB_OK



 
来源:电子工业出版社 作者:罗云彬 上一页         回书目         下一页          
上一页         回书目         下一页          
  


第5章 使用资源


5。1 菜单和加速键(4)

    
                 popad

                 ret

 

_DisplayMenuItem          endp

;》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

_Quit            proc

 

                 invoke   DestroyWindow;hWinMain

                 invoke   PostQuitMessage;NULL

                 ret

 

_Quit            endp

;》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

_ProcWinMain     proc     uses ebx edi esi hWnd;uMsg;wParam;lParam

                 local    @stPos:POINT

                 local    @hSysMenu

 

                 mov  eax;uMsg

                 。if      eax   WM_CREATE

                          invoke  GetSubMenu;hMenu;1

                          mov     hSubMenu;eax

;********************************************************************

;在系统菜单中添加菜单项

;********************************************************************

                          invoke  GetSystemMenu;hWnd;FALSE

                          mov     @hSysMenu;eax

                          invoke  AppendMenu;@hSysMenu;MF_SEPARATOR;0;NULL

                          invoke  AppendMenu;@hSysMenu;

                                 0;IDM_HELP;offset szMenuHelp

                          invoke  AppendMenu;@hSysMenu;

                                 0;IDM_ABOUT;offset szMenuAbout

;********************************************************************

; 处理菜单及加速键消息

;********************************************************************

                 。elseif  eax   WM_MAND

                          invoke  _DisplayMenuItem;wParam

                          mov     eax;wParam

                          movzx   eax;ax

                          。if     eax  IDM_EXIT

                          call    _Quit

                 。elseif  eax 》=  IDM_TOOLBAR && eax =  IDM_BIG && eax 》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

_WinMain         proc

                 local    @stWndClass:WNDCLASSEX

                 local    @stMsg:MSG

                 local    @hAccelerator

                 invoke   GetModuleHandle;NULL

                 mov      hInstance;eax

                 invoke   LoadMenu;hInstance;IDM_MAIN

                 mov      hMenu;eax

                 invoke   LoadAccelerators;hInstance;IDA_MAIN

                 mov      @hAccelerator;eax

;********************************************************************

; 注册窗口类

;************************
返回目录 上一页 下一页 回到顶部 0 0
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!