FreeBASIC学习笔记——FireFly常用控件之窗体(Form)

        窗体是我们最常用的控件之一,FireFly编译器不在使用和设置上与Visual Basic的编译器有很多差异。所有了解窗体的设置和使用是十分必要的。

11.1.1 窗体的样式设置

        窗体的的外观设置在FireFly里需要通过WindowStyles属性来设置。选择窗体Form后,在工作区选择属性选项卡,可以看到窗体的各种属性,我们点击WindowStyles属性后面的按钮,在弹出的对话框中选择或者修改窗体样式。如图11-1所示。

FreeBASIC学习笔记——FireFly常用控件之窗体(Form)

图11-1 窗体样式属性窗口

        这里列举几个有可能修改的样式,没有特别要求按默认即可:

        1、WS_THICKFRAME:ThickFrme,创建一用户可调整大小的边框。

        2、WS_CAPTION:Caption,创建标题/标题栏。

        3、WS_MINIMIZEBOX:MinimizeBox,创建使用WS_SYSMENU风格时的最小化按钮。

        4、WS_MAXIMIZEBOX:MaximizeBox,创建使用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属性:窗体标题栏名称,根据实际项目修改。

        6、Tag/Tag2属性:窗体的附加文本,常常作为运行时的窗体附加参数传递或临时保存变量。

FreeBASIC学习笔记——FireFly常用控件之窗体(Form)

11-2窗体的属性

11.1.3 窗体的使用

        在学习使用窗体前我们要了解一下FireFly的控件使用方式:与Visual Basic用对象.属性的设置方式不同,FireFly是用句柄加函数调用的方式操作控件的。所有的句柄和ID可以在窗体的底部菜单栏【句柄和ID】里打开查找。如图11-3所示。

FreeBASIC学习笔记——FireFly常用控件之窗体(Form)

图11-3 句柄和ID

        根据常用的窗体属性或调用,这里介绍6个操作窗体的设置,分别是打开窗体、关闭窗体、设置窗体标题、设置窗体Visible属性,设置窗体Enabled属性,读写窗体Tag。窗体显示效果如图11-4所示。

FreeBASIC学习笔记——FireFly常用控件之窗体(Form)

11-4窗体设置简例

1、打开(显示)另一个窗体
        首先需要添加一个窗体Form2。FireFly添加窗体可以在工具栏中点击添加窗体工具或者在【工作区-资源管理】中右键->添加窗体。添加完成后,在按钮cmdOpenForm2的Click事件中添加代码:HWND_FORM2 = Form2_Show(hWndForm,SW_SHOW),这里显示的句柄HWND_FORM2就是Form2窗体的句柄,FireFly在显示主窗体外的其他窗体时必须调用这样的语句实现,而不能用API函数ShowWindow来显示,因为没有该语句HWND_FORM2的句柄是0,说明窗体并没有被创建,所以必须调用该语句让FireFly创建窗体。
语法:窗体句柄 = 窗体名_Show(父窗体句柄,显示状态)
程序实现:

FreeBASIC学习笔记——FireFly常用控件之窗体(Form)

2、关闭另一个窗体

        FireFly关闭窗体不能直接用API,而需要使用其内部函数。因为FireFly需要对窗体进行释放等工作。该函数可以在函数库->进程与窗口中找到。

语法:FF_CloseForm(窗体句柄)

程序实现:

FreeBASIC学习笔记——FireFly常用控件之窗体(Form)

3、Visible属性

        窗体的Visible属性设置函数可以在函数库->FireFly控件->控件公用里找到。

语法:FF_Control_ShowState(窗口句柄, 显示状态)

程序实现:

FreeBASIC学习笔记——FireFly常用控件之窗体(Form)

4、Enabled属性

        窗体的Enabled属性设置函数可以在函数库->FireFly控件->控件公用里找到。

语法:FF_Control_Disable(窗口句柄)  - 使无效

     FF_Control_Enable(窗口句柄)  - 使有效

程序实现:

FreeBASIC学习笔记——FireFly常用控件之窗体(Form)

5、Caption属性

        窗体的Cpation属性设置函数可以在函数库->FireFly控件->控件公用里找到。

语法:窗体标题 =  FF_Control_GetText(窗体句柄)  - 读标题

     FF_Control_SetText(窗体句柄, 窗体标题)     - 写标题

FreeBASIC学习笔记——FireFly常用控件之窗体(Form)

6、Tag属性

        窗体的Tag属性设置函数可以在函数库->FireFly控件->控件公用里找到。

语法:Tag值 = FF_Control_GetTag(窗体句柄)

     FF_Control_SetTag(窗体句柄, Tag值)

程序实现:

FreeBASIC学习笔记——FireFly常用控件之窗体(Form)

完整工程:http://download.csdn.net/download/rainheart311/10163775