在Lua中显示简单的消息框

时间:2015-10-02 15:02:56

标签: io lua

这听起来像是一个“让我谷歌为你解决”这类问题,但经过一番大量的研究后,我找不到答案。

Lua中是否有内置的消息框方法?如果没有,这样做的“标准”方式是什么?

2 个答案:

答案 0 :(得分:2)

消息框是一个GUI元素,与许多语言一样,不是标准的一部分。要么使用外部库(list),系统库/本机函数(LuaJIT FFI),要么使用Lua C function扩展解释器。

我更喜欢LuaJIT。 Windows的一个例子:

local ffi = require("ffi")  -- Load FFI module (instance)

local user32 = ffi.load("user32")   -- Load User32 DLL handle

ffi.cdef([[
enum{
    MB_OK = 0x00000000L,
    MB_ICONINFORMATION = 0x00000040L
};

typedef void* HANDLE;
typedef HANDLE HWND;
typedef const char* LPCSTR;
typedef unsigned UINT;

int MessageBoxA(HWND, LPCSTR, LPCSTR, UINT);
]]) -- Define C -> Lua interpretation

user32.MessageBoxA(nil, "Hello world!", "My message", ffi.C.MB_OK + ffi.C.MB_ICONINFORMATION)   -- Call C function 'MessageBoxA' from User32

答案 1 :(得分:1)

不,Lua中没有内置消息框。你必须使用像IupLua

这样的lua模块