『香`草の゛芭芙 发表于 2012-7-28 12:27:19

关于子程序定义proc。。。

_DisplayMenuItem proc _dwCommandID   
   local @szBuffer:byte
pushad
invoke wsprintf,addr @szBuffer,addr szFormat,_dwCommandID
invoke MessageBox,hWinMain,addr @szBuffer,offset szCaption,MB_OK
popad
ret
_DisplayMenuItem endp

上面的代码 proc 只有一个 参数名

_Quitproc
invoke DestroyWindow,hWinMain
invoke PostQuitMessage,NULL
ret
_Quitendp

上面的代码 proc 属性全部省略,

什么时候需要写参数名 什么时候可以省略啊?好迷糊啊。{:5_99:}

メ㊣逆ご帅☆ 发表于 2012-7-28 12:27:20

本帖最后由 メ㊣逆ご帅☆ 于 2012-7-28 14:29 编辑

当你需要参数的时候,例如窗口过程需要hWnd,uMsg,wParam,lParam这几个参数
相应这个过程就有使用这几个参数
至于这几个参数值从哪里来,你调用的时候不就会传给它了么

举个例子_DisplayMenuItem proc _dwCommandID   
相应下面就有用到_dwCommandID   
invoke wsprintf,addr @szBuffer,addr szFormat,_dwCommandID
_Quitproc
invoke DestroyWindow,hWinMain
invoke PostQuitMessage,NULL
ret
_Quitendp
至于这里为什么没有参数,因为他没用到参数,hWinMain是全局变量,所有人(是不是不和谐啊)都可以用的
页: [1]
查看完整版本: 关于子程序定义proc。。。