一直在尋找一款lua作為介面開發語言指令碼框架,類似於web開發,使用html做介面,
lua作為指令碼語言進行行為控制,htmlayout是不二選擇,但是其搭配的預設指令碼並不是lua,這裡找到乙個
開源的框架,將htmlayout進行了改造,使其支援lua指令碼作為邏輯控制語言;
本系列文章將對mfcui原始碼進行簡要分析,並試圖將其改造為自己的介面開發框架,該框架使用的是lua5.1;
我們從作者提供的test/demo.lua說起,該檔案源**如下:
require('mfc');
mfc.register('exctrl.dll');--
載入擴充套件控制項
mfc.init();--
初始化localfn=arg[1]orstring.format('file://%s/demo.htm',mfc.workdir());
localw=mfc.newwindow(fn,true);--
啟動模態視窗
最後呼叫了
mfc.newwindow(fn,true)
函式來建立乙個模態視窗
,就顯示出來乙個視窗;
逐個函式去分析,先從
mfc.register('exctrl.dll')
函式來,該函式是c庫中實現的函式,實現**如下:
//註冊擴充套件控制項
staticintregister_exctrl(lua_state* l)
return1;
}while(0);
freelibrary
(hinstance);
return0;
}該函式先去載入
exctrl.dll
動態庫,然後獲取動態庫匯出函式
open_mfc_exctrl
,接著就呼叫了該函式,該函式**如下:
extern"c"
ccontroltype** winapi
open_mfc_exctrl(lua_state* l)
}returntrue;}
以上**對視窗的樣式進行了設定;
Mangos原始碼分析 一)
mangos 原始碼分析 realmd 登陸伺服器 realmd 主程式 launch the realm server int main int argc,char argv h.add authlistensocket 進行一些引數設定 while stopevent 伺服器主迴圈 return...
testlink原始碼分析 一
testlink是乙個很好的用例管理開源元件,因為我之前也作過乙個用例管理的系統,但是遠沒有testlink靈活,本著學習的態度,自己分析一下testlink的源 一點理解,和大家分享,希望能拋磚引玉。下面來看一下testlink的資料庫設計。1 許可權管理 testlink提供了豐富的許可權管理,...
rabbitmq原始碼分析(一)
解壓後工程很整齊 先分析啟動入口點,環境為win7,其實對程式入口點我一直不太了解,感覺erlang程式的入口點沒有固定的,雖然可以通過檔案中的一些東西來分析出來,感覺不方便。prepare方法是幹什麼的,哦確保時間管理器都安裝了必須的幾個事件處理模組。上 啟動rabbit時呼叫模組中的start ...