窗體是我們最常用的控件之一,F(xiàn)ireFly編譯器不在使用和設置上與Visual Basic的編譯器有很多差異。所有了解窗體的設置和使用是十分必要的。
11.1.1 窗體的樣式設置
窗體的的外觀設置在FireFly里需要通過WindowStyles屬性來設置。選擇窗體Form后,在工作區(qū)選擇屬性選項卡,可以看到窗體的各種屬性,我們點擊WindowStyles屬性后面的按鈕,在彈出的對話框中選擇或者修改窗體樣式。如圖11-1所示。
圖11-1 窗體樣式屬性窗口
這里列舉幾個有可能修改的樣式,沒有特別要求按默認即可:
1、WS_THICKFRAME:ThickFrme,創(chuàng)建一用戶可調(diào)整大小的邊框。
2、WS_CAPTION:Caption,創(chuàng)建標題/標題欄。
3、WS_MINIMIZEBOX:MinimizeBox,創(chuàng)建使用WS_SYSMENU風格時的最小化按鈕。
4、WS_MAXIMIZEBOX:MaximizeBox,創(chuàng)建使用WS_SYSMENU風格時的最大化按鈕。
5、WS_VISIBLE:Visible,對話框/控件是可見的。
6、WS_DISABLED:Disabled,對話框/控件最初被禁用。11.1.2 窗體的其他屬性
窗體的屬性如圖11-2所示,這里我們介紹幾個常用的屬性:
1、Name屬性:標識窗體的名稱,在引用窗體句柄時需要該屬性,為了方便辨認,按照匈牙利命名法,我們一般給窗體加上frm前綴,表示窗體,如:frmMain(主窗體)。
2、BackBitmap屬性:窗體背景圖片。
3、BackBitmapMode屬性:背景圖片的顯示模式。
4、BackColor屬性:窗體背景色。
5、Caption屬性:窗體標題欄名稱,根據(jù)實際項目修改。
6、Tag/Tag2屬性:窗體的附加文本,常常作為運行時的窗體附加參數(shù)傳遞或臨時保存變量。
11-2窗體的屬性
11.1.3 窗體的使用
在學習使用窗體前我們要了解一下FireFly的控件使用方式:與Visual Basic用對象.屬性的設置方式不同,F(xiàn)ireFly是用句柄加函數(shù)調(diào)用的方式操作控件的。所有的句柄和ID可以在窗體的底部菜單欄【句柄和ID】里打開查找。如圖11-3所示。
圖11-3 句柄和ID
根據(jù)常用的窗體屬性或調(diào)用,這里介紹6個操作窗體的設置,分別是打開窗體、關(guān)閉窗體、設置窗體標題、設置窗體Visible屬性,設置窗體Enabled屬性,讀寫窗體Tag。窗體顯示效果如圖11-4所示。
11-4窗體設置簡例
1、打開(顯示)另一個窗體
首先需要添加一個窗體Form2。FireFly添加窗體可以在工具欄中點擊添加窗體工具或者在【工作區(qū)-資源管理】中右鍵->添加窗體。添加完成后,在按鈕cmdOpenForm2的Click事件中添加代碼:HWND_FORM2 = Form2_Show(hWndForm,SW_SHOW),這里顯示的句柄HWND_FORM2就是Form2窗體的句柄,F(xiàn)ireFly在顯示主窗體外的其他窗體時必須調(diào)用這樣的語句實現(xiàn),而不能用API函數(shù)ShowWindow來顯示,因為沒有該語句HWND_FORM2的句柄是0,說明窗體并沒有被創(chuàng)建,所以必須調(diào)用該語句讓FireFly創(chuàng)建窗體。
語法:窗體句柄 = 窗體名_Show(父窗體句柄,顯示狀態(tài))
程序?qū)崿F(xiàn):
2、關(guān)閉另一個窗體
FireFly關(guān)閉窗體不能直接用API,而需要使用其內(nèi)部函數(shù)。因為FireFly需要對窗體進行釋放等工作。該函數(shù)可以在函數(shù)庫->進程與窗口中找到。
語法:FF_CloseForm(窗體句柄)
程序?qū)崿F(xiàn):3、Visible屬性
窗體的Visible屬性設置函數(shù)可以在函數(shù)庫->FireFly控件->控件公用里找到。
語法:FF_Control_ShowState(窗口句柄, 顯示狀態(tài))
程序?qū)崿F(xiàn):
4、Enabled屬性
窗體的Enabled屬性設置函數(shù)可以在函數(shù)庫->FireFly控件->控件公用里找到。
語法:FF_Control_Disable(窗口句柄) - 使無效
FF_Control_Enable(窗口句柄) - 使有效
程序?qū)崿F(xiàn):
5、Caption屬性
窗體的Cpation屬性設置函數(shù)可以在函數(shù)庫->FireFly控件->控件公用里找到。
語法:窗體標題 = FF_Control_GetText(窗體句柄) - 讀標題
FF_Control_SetText(窗體句柄, 窗體標題) - 寫標題
6、Tag屬性
窗體的Tag屬性設置函數(shù)可以在函數(shù)庫->FireFly控件->控件公用里找到。
語法:Tag值 = FF_Control_GetTag(窗體句柄)
FF_Control_SetTag(窗體句柄, Tag值)
程序?qū)崿F(xiàn):完整工程:http://download.csdn.net/download/rainheart311/10163775