这听起来像是一个“让我谷歌为你解决”这类问题,但经过一番大量的研究后,我找不到答案。
Lua中是否有内置的消息框方法?如果没有,这样做的“标准”方式是什么?
答案 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模块