精品推荐
阅读排行
· PRO/E 十种技巧· [组图] 3ds Max 高级长篇人
· 路由技术介绍
· [组图] PRO/E的曲面设计
· 怎样学好PRO/E软件?
· [组图] 快速将你的相片矢量
· [组图] Photoshop制作珠宝文
· [组图] flash人物绘画教程
· 《俄罗斯方块》程序
· Pro/ENGINEER 学习资
| 作者:佚名 来源:www.pccode.net 整理 发布时间:2006-3-7 14:18:13 发布人:wongrs |
| 用汇编写基于对话框的程序,可以和写VB程序一样清晰简单,并且相当多的程序都是这样的结构。用VB写的所以程序几乎都是这样的 记住,在使用QE时为了使得编译成功,必须将它保存为rsrc.rc这个文件名(使用命令行就无所谓了)。选择Project->Compile Resource File。资源文件就编译成功了,就可以被连接使用了。建议你用VC的资源编辑器打开这个资源文件看看。 第一行的#include "\masm32\include\resource.h"就和C一样,是包含一个头文件,这个文件中有各种常数的定义,如 接下来定义了一些常数,就和C中的用法一样,是为了增强程序的可读性。 "MyDialog DIALOG 10, 10, 205, 60"这一句用DIALOG这个关键字定义一个名为MyDialog的对话框,名字当然可以随便取。后面 的4个数字是对话框的位置大小,一般是在资源编辑器中调试。 "STYLE 0x0004 | DS_CENTER | WS_CAPTION | WS_MINIMIZEBOX | WS_SYSMENU | WS_VISIBLE | WS_OVERLAPPED | DS_MODALFRAME | DS_3DLOOK "是描述对话框的风格的。如WS_MINIMIZEBOX是说有最小化按钮。DS_3DLOOK是说对话框是3D外形 CAPTION "我的对话框"就是指定对话框的标题是"我的对话框" 再下面用{}框起来的就是对话框中的各个控件。这个例子中用到了EDITTEXT编辑框控件,PUSHBUTTON按钮控件, 程序的界面就设计完了,接下来是设计程序。 程序的设计 .386 DlgProc proto :DWORD,:DWORD,:DWORD,:DWORD include \masm32\include\windows.inc . data .data? .const .code DlgProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM 猛一看,这个程序挺长的,如果用VB实现这个功能的话,大概只需要写5-6行。但是,这个程序中相当一部分代码是固定的,也 .386; 声明使用386指令系统 ;上面3行可以认为是固定的,必须的 DlgProc proto :DWORD,:DWORD,:DWORD,:DWORD ;..........此处声明自己定义的函数,上面的这个是对话框的主函数(必须有),名字可以换成别的 include \masm32\include\windows.inc ;...........此处包含需要的头文件,上面几个是最长用到的 .data .data? . const .code ;以下就是代码段,注意函数也是放在代码段里面的! 上面的几行也是比较固定的,invoke是用来调用函数的,用过VB的人都知道call,这就相当于那个命令 DlgProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM DlgProc endp 基本上,你可以把上面的绿色部分当作模版使用,只需要在.data和.data?以及.const段增加你所需要的变量和常量就可以了。 我们来分析几个消息,在调用DialogBoxPrarm创建对话框后,对话框会收到WM_INITDIALOG即对话框初始化消息,uMsgz这个参数 当按下对话框右上角的关闭按钮时,会产生WM_CLOSE,必须处理这个函数,否则不能用×来关闭对话框(这是由于内置的函数没 当按下对话框上的按钮时会产生WM_COMMAND消息,并且wParam中传递的是控件的ID。根据不同的ID完成不同的功能,在本例中如 程序就是通过处理各种消息完成的!在更大的程序里面也都是这种结结构,只不过处理的消息更多而已。 |
| [ ] [返回上一页] [打 印] [收 藏] |
上一篇文章:Casl汇编语言辅导(1)
下一篇文章:Visual Basic COM基础讲座之简介 |
