在Windows上開發桌面應用程序的工具有很多,早期的VB,VC+MFC等等,.Net出來后,使用C#開發桌面應用程序就更加容易,C#對Windows的面向對象方式的封裝使得程序開發更新方便,重用性也大大提高,但總是要帶着.Net巨大的環境。 使用Dgui不僅可以去掉.Net巨大的環境,而且Dgui的類封裝結構和C#的Form結構差不多,使得程序開發起來也非常方便。
一、下載Dgui庫
Dgui庫是開源項目,項目地址:https://bitbucket.org/dgui/dgui ,最后更新日期為2015-02-02, 好像好久都沒有更新了,不知道是不是作者已經不維護了。也不能使用最新的dmd編譯,只能使用dmd2.066.1版本編譯, 源碼下載地址:https://bitbucket.org/dgui/dgui/get/d024c84e98ff.zip
項目里還有幾個編譯好的例子程序,下載地址:https://bitbucket.org/dgui/dgui/downloads/DGui%20samples.7z
二、先看看例子程序的運行結果
解壓下載的 DGui samples.7z 文件,如下圖:
一共有11個例子程序,其中resources.exe是使用了資源文件進行編譯的,圖標顯示的就不一樣。運行幾個試試。
events.exe的進行示圖(就只有一個按鈕)
gradient_rect.exe使用GID繪制的界面
grid.exe表格布局多控件顯示
splitter.exe 用拆分條控件布局
toolbar_32_x_32.exe使用工具框顯示工具按鈕
看了幾個例子程序運行的界面,效果還是很不錯,直接使用的windows自帶的風格,有點像是C#寫出來的程序運行的效果,比從linux上移值過來的gui顯示效果好,更有windows上界面的味道。還是很值得windows程序員去發展使用的項目。
三、編譯Dgui
Dgui因為好久沒更新的原因,只能使用dmd2.066.1版本編譯器編譯,這需要在VasualD里設置。始下圖:
Dgui解壓后目錄如下
DGui工具使用的是vs2008建的工程,我測試過,使用vs2013打開也一樣是可以的,使用vs2013打開時只需要進行一次轉換:
轉換后就直接可以使用了,編譯成功,如下圖:
Release版本也一樣直接編譯成功.
DGui的編譯主要是要注意DMD的版本一定要是2.066.1,以后的版本現在還沒辦法編譯通過。
四、DGui的使用
DGui已經編譯好,我們建個工程來使用一下吧,這是一個很不錯的體驗。
在dmd.2.066.1.windows目錄中新建一個usr目錄,在usr目錄下再建src,lib兩個目錄,如下圖:
C:\D\dmd.2.066.1.windows\usr目錄
將dgui的源碼目錄復制到src目錄,如下圖所示:
編譯好的dgui.lib文件復制到lib目錄,如下圖所示,debug版本重新命一下名DGui_debug.lib
打開vs2013的visual-D的設置進行設置,設置如下:
在Import paths項里添加C:\D\dmd.2.066.1.windows\usr\src ,這可以讓編譯器在編譯里可以搜索該目錄導入符號。
在Library paths中添加C:\D\dmd.2.066.1.windows\usr\lib, 這個設置可以讓編譯器在連接時可以自動到該目錄中搜索連接庫。
設置好后,新建一個Windwos的項目,如下圖:
新建好項目后,打開項目的屬性頁添加dgui.lib庫的連接,如下:
把winmain.d是的代碼清空后,寫上我們自己的代碼,如下:
import dgui.all;
int main(string[] args)
{
Form f = new Form();
f.size = Size(300,200);
f.startPosition = FormStartPosition.centerScreen;
Label lbl = new Label();
lbl.text = "你好!測試一下";
lbl.dock = DockStyle.fill;
lbl.alignment = TextAlignment.center | TextAlignment.middle;
lbl.parent = f;
Application.run(f);
return 0;
}
編譯程序后調試運行如下圖:
作者:宛宏南