阁龙1427 发表于 2012-5-13 21:23:06

错误号码

本帖最后由 乐yi忘忧 于 2012-5-15 09:53 编辑

每次
if Application.MessageBox('文件名重复,是否覆盖!','提示',68)=IDNo then后面的数字是干什么的?
68 是干啥的

寂静的风之力 发表于 2012-5-13 21:23:07

本帖最后由 寂静的风之力 于 2012-5-14 11:22 编辑

这种写法误导人,请参见API文档,MB_开头的宏,用来定义对话框的按钮,图标什么的,不过这些定义都是API中已经定义好的。那个68不过是有人将头文件中的定义转换成数字,加起来了而已。

不推荐这样使用,宏的定义就是为了方便。

这些宏定义在WinUser.h

int MessageBox(
HWND hWnd,          // handle to owner window
LPCTSTR lpText,   // text in message box
LPCTSTR lpCaption,// message box title
UINT uType          // message box style
);

68d=44h
也就是 MB_YESNO | MB_ICONASTERISK

/*
* MessageBox() Flags
*/
#define MB_OK                     0x00000000L
#define MB_OKCANCEL               0x00000001L
#define MB_ABORTRETRYIGNORE         0x00000002L
#define MB_YESNOCANCEL            0x00000003L
#define MB_YESNO                  0x00000004L
#define MB_RETRYCANCEL            0x00000005L
#if(WINVER >= 0x0500)
#define MB_CANCELTRYCONTINUE      0x00000006L
#endif /* WINVER >= 0x0500 */


#define MB_ICONHAND               0x00000010L
#define MB_ICONQUESTION             0x00000020L
#define MB_ICONEXCLAMATION          0x00000030L
#define MB_ICONASTERISK             0x00000040L
以下略


某某人 发表于 2012-5-14 09:18:17

图标+按钮就是4+64

乐yi忘忧 发表于 2012-5-14 19:30:55

楼上的正解。
页: [1]
查看完整版本: 错误号码