摘要: 右键弹出菜单是很常用的功能,其实现也不能,各其相关的主要是:一个数据结构:POINT两个函数:GetCursorPos()&TrackPopupMenu()这个例子中在系统菜单的最下边增加了一个菜单项,点击弹出消息框.下面是代码(完整工程下载).386.model flat,stdcalloption casemap:noneinclude windows.incinclude kernel32.incinclude user32.incinclude debug.incincludelib kernel32.libincludelib user32.libincludelib deb 阅读全文
posted @ 2012-09-03 22:25 Andy_Boy 阅读(1066) 评论(1) 推荐(0) 编辑
摘要: 点击窗口的左上角会弹出一个系统菜单,我们也可以对这个菜单进行修改这个例子中在系统菜单的最下边增加了一个菜单项,点击弹出消息框.注意系统菜单的消息是在WM_SYSCOMMAND里面处理的.下面是关于系统菜单的代码(完整工程下载).if eax==WM_CREATE invoke GetSystemMenu,hWnd,FALSE mov @hSysMenu,eax invoke AppendMenu,@hSysMenu,MF_SEPARATOR,0,NULL invoke AppendMenu,@hSysMenu,MF_STRING,IDM_ABOUT,CTEXT("About" 阅读全文
posted @ 2012-09-03 22:04 Andy_Boy 阅读(392) 评论(0) 推荐(0) 编辑
摘要: 有的时候,菜单中会有单选和多选,如图:其实主要是通过两个函数CheckMenuItem和CheckMenuRadioItem来实现,创建好菜单后,在回调函数的WM_COMMAND中进行处理就可以了.以下是创建菜单和WM_COMMAND消息响应的部分代码(完整工程下载);;====================================================;;创建菜单的子程序;;==================================================== _CreateMenu proc LOCAL @hMenu LOCAL @hPopMenu.. 阅读全文
posted @ 2012-09-03 21:25 Andy_Boy 阅读(2550) 评论(0) 推荐(0) 编辑
摘要: 菜单一般都会通过资源来加载,但其实也可以直接通过代码来实现:1>使用CreateMenu函数创建一个菜单,并保存句柄hMenu2>使用CreatePopupMenu函数创建一个弹出菜单,并保存句柄hPopMenu3>使用AppenMenu为弹出菜单添加菜单项4>使用AppenMenu将弹出菜单(hPopMenu)附到菜单(hMenu)上本例子创建了两个弹出菜单并附号主菜单上,并响应了菜单中的一个消息,为了使程序更加清楚,写了一个_CreateMenu子程序来实现.以下是创建菜单的子程序的代码:(完整工程下载)子程序写好后要记得调用才会出现菜单喔!_CreateMenu 阅读全文
posted @ 2012-09-03 20:03 Andy_Boy 阅读(697) 评论(0) 推荐(0) 编辑
摘要: 加速键资源在编辑中也时常用到,比如Ctrl+A,Ctrl+Z等等,现在就介绍一下在Win32汇编中如何使用加速键资源,本例中按"Ctrl+O"会弹出一个消息框,按"Ctrl+E"则会在弹出一个消息框之后关闭窗口:1>新键一个工程,创建一个新的窗口.2>在资源中添加'加速键'资源首先,用ResEdit(下载:32位,64位)打开工程中的资源文件,然后添加新的加速键资源:然后,在.const中写上资源的ID号:接着,对原来的消息循环进行修改,在TranslateMessage和DispatchMessage之前TranslateM 阅读全文
posted @ 2012-09-03 18:44 Andy_Boy 阅读(593) 评论(0) 推荐(0) 编辑
摘要: 基本上的窗口都会有一个菜单,现在就来看看Win32汇编中是如何加载菜单的: 1>在工程中添加新的菜单资源 2>双击新添加的菜单资源进行编辑 3>菜单栏:Make->Compile RC来编译资源文件 4>导出资源中的ID号并写到数据段的.const中 5>下面是完整的源代码供参考:(工程下载地址) 阅读全文
posted @ 2012-09-03 10:44 Andy_Boy 阅读(1234) 评论(0) 推荐(0) 编辑