2015-10-02 1 views
1

Это похоже на вопрос «позвольте мне google it for you», но после некоторого значительного объема исследований я не смог найти ответ.Показать окно простого сообщения в Lua

Есть ли встроенный способ окна сообщений в Lua? Если нет, каков «стандартный» способ сделать это?

ответ

1

Нет, в Lua нет встроенного окна сообщений. Вы должны использовать модуль lua, например: IupLua

+1

Спасибо, Алекс. Я также нашел этот метод использования стандартного окна сообщений Windows: http://stackoverflow.com/a/22462842/4971456 –

+0

Не могли бы вы привести пример, а не просто ссылку на библиотеку? Не «ненавидеть игрока» принятый ответ, но хорошо известно, что однострочные ответы, связанные с внешними ресурсами, должны быть сделаны скорее комментариями, чем ответами. –

1

Поле сообщения является элементом GUI и, как и многие языки, не является частью стандарта. Либо вы используете внешнюю библиотеку (list), системные библиотеки/собственные функции (LuaJITFFI), либо расширьте свой переводчик Lua C function.

Я бы предпочел LuaJIT. Пример для окон:

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 
Смежные вопросы