首先,要有画板。Form控件使用简述

首先介绍的是一些常用控件类型,暂时不会介绍它们详细的方法和属性,因为涉及到继承的东西,所以在下一个阶段说明时一起解说了。这里只会提及简单开发时常用的一些处理,方便使用。同样,代码我不配图勒,所以读的时候,最好自己运行起来。另外,别忘了以后无特殊说明,CreateFrame代表IGAS.GUI.CreateFrame,而不是原始的CreateFrame。


Form控件

1. 创建

local frm = CreateFrame("Form", "TestF", UIParent)

frm.Visible = true

现在能看到屏幕中央出现了一个窗口框体,带有关闭按钮,上面有标题栏,按住标题栏可以移动窗口,右下角,右边框,下边框可以拖动,你可以随便调整看看,注意这里的第二句,Visible 属性表示是否可见,设为true的话,如果你关闭了这个框体,当再次运行这段代码时,框体会再次出现的。这样方便调试。

2. 当关闭时销毁

  • function frm:OnHide()

    self:Dispose()

end

  • frm.OnHide = function(self)

    self:Dispose()

end

  • local function OnHide(self)

    self:Dispose()

end

frm.OnHide = OnHide

这个功能专门提出来,是因为学习和调试时常会用到。

这里的frm:OnHide() 表示定义frm的OnHide隐藏事件处理方法, Dispose方法是销毁函数,每个框体都可以调用它来销毁自身。上面的三种写法都是一样的,第三种的好处在于,可以多个框体使用同一个事件处理方法,减少内存占用。如何使用,看个人程序书写风格。

有时候你在Form框体上创建了多余的框体,比如多创建了几个下拉框,那么要消除它们有几个方法(暂时不考虑以后的图形化开发工具,只考虑使用代码的情况),一个是每个下拉框写一次Disepose,这样比较麻烦,还有一个方法,就是销毁掉Form框体,然后运行代码再生成一次,而加入这段代码后,你只需要点击关闭按钮,就可以销毁掉这个框体,比较方便,当然成品插件中就不需要这样写了。

3. 大小的调整

frm.Width = 500                                               -- 框体的宽度

frm.Height = 500                                              -- 框体的高度

frm:SetMaxResize(600, 600)                            -- 框体的最大宽度,高度

frm:SetMinResize(200, 300)                             -- 框体的最小宽度,高度

前两个容易理解,后面两个是当你按住右下角拖放框体时,框体能够变得最大和最小的样子。

4. 标题栏

frm.Caption = "My Form"                                  -- 框体的标题

IGAS.Print(frm.Caption)                                    -- 打印框体的标题

这里用了一个IGAS.Print函数,用于打印字符串到聊天栏里面。这是一个调试用函数吧,也许正式版本下会取消或者修改掉,所以别在正式插件中使用它,我还在考虑如何定位。

5. 消息

frm.Message = "This is a message."

frm.Message = "这是一个消息。"

随便使用哪句,Form框体的左下角会出现这句话,这个可以用来显示提示或错误信息。

 

这个控件是比较简单的,稍微熟悉下就可以。