如何往窗口中添加按钮以及通过按钮执行命令

如何往窗口中添加按钮以及通过按钮执行命令,第1张

在为窗口中加入命令之前,我们需要给窗口一个布局界面,这里需要注意,没有布局的窗口是无法往里面加入任何东西的。布局有很多的方式,在这里我们使用一个columnLayout,这是一个纵列的布局,其中有许多的参数,这里我们简单的使用-adj,他的作用是让元素对齐窗口的两边。我们的这一句布局要放在showWindow之前,也要在窗口元素(按钮等)之前,保证mel的正确运行。

现在来为窗口添加一个按钮。按钮的mel为button,这里介绍他的三个后缀,分别是-label,-h,-c

-label:标题,也就是按钮的名字,后接字符串,为自己的按钮起个名字,这里我们叫myButton。

-h:高度,定义按钮的高度,后接一个浮点数。

-c:命令,决定这个按钮摁下去会执行一个什么 *** 作,后接proc(程序)。

我们来完整的写一下这个按钮:

button -l "myButton" -h 20 -c ""

这里的-c后面我暂时留空,因为我们还没有定义出一个proc来让他调用。这是我们接下来要完成的。现在我们先把这句mel放在布局之后的位置,然后使用//屏蔽掉从-c开始的内容,运行一下看看我们现在窗口的样子。

如何往窗口中添加按钮以及通过按钮执行命令

我们已经可以看到自己的窗口与按钮,如果觉得按钮太小了,还可以增大-h后面的值。现在这个按钮不会发挥任何作用,我们要为其定义一个程序来让其使用。

使用proc定义一个自定义的程序,他的格式如下:

proc 名字(行参){内容}。

这里的行参可能不太容易理解,所幸简单的命令并不需要用到它,留空就可以了。这里我们来自定义一个可以完成对齐功能的程序。

对齐的mel为:

string $ParCons[] = `parentConstraint`

delete $ParCons

这两句mel可以让后选择的物体对齐到先选择的物体上,其实就是简单地利用了父子链接,这里不多解释,我们开始使用proc定义程序。

proc ALT(){

string $ParCons[] = `parentConstraint`

delete $ParCons

}

这里程序的名字是可以随意定义的,之后再button中调用时需要用到,注意我们虽然没有行参,仍要写小括号,只是将其留空即可。现在我们将程序的名字ALT加入到button的-c之后,注意需要用引号将其提示为字符串。

最终的mel如下

if(`window -ex "myWin1"`){

deleteUI -window myWin1

}

window -title "myFirstWin" -wh 300 500 myWin1

columnLayout -adj 1

button -l "myButton" -h 20 -c "ALT"

showWindow myWin1

proc ALT(){

string $ParCons[] = `parentConstraint`

delete $ParCons

}

绿色部分为我们的窗口部分,红色使我们定义的程序。这个proc实际上是定义了一个后台的指令,而我们在button中通过-c调用了他,他自动执行这个指令中的命令,也就是具有对齐功能的mel,完成了按钮与程序指令的链接,让这个按钮有了自己的用处。

如何往窗口中添加按钮以及通过按钮执行命令

最后我们可以将这段mel拖到工具架上供日后使用,将来会介绍如何使用mel在maya的菜单中添加自己想要的菜单栏,并为其添加子元素。

private sub command1_click()

a=0:b=5:c=6

a=b+c

msgbox a

end sub

这个的结果是11,a=b+c是算术表达式,把b+c的结果赋给a,然后msgbox时显示出a

******************************************************

private sub command1_click()

a=0:b=5:c=6

msgbox a=b+c

end sub

这个的结果是false,a=b+c在这里是逻辑表达式,返回布尔值,如果a和b+c的结果相等的话,返回真(true),不相等则返回假(false)。

往窗体百中添加一个 label 两个度Button 控件

添加两个按钮的问单击事件,如答下:

private void button1_Click(object sender, EventArgs e)

{

label1.Visible = true

label1.Text = "努力学习C#"

label1.BackColor = Color.Blue//背景颜色回为蓝色

label1.Location = new Point(50, 50)//位置答

}

private void button2_Click(object sender, EventArgs e)

{

label1.Text = ""

label1.Visible = false//隐藏

label1.BackColor = Color.White

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11609337.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存