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

如何往窗口中添加按钮以及通过按钮执行命令,第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的菜单中添加自己想要的菜单栏,并为其添加子元素。

创建MFC的工程,右边有一个工具条

点击工具条上面的Button按钮,把按钮拖进MFC的主对话框中就好悔芦了

双击Button进入按钮函数,可以再碧扰带按钮内添加自己需要的函数

通过单击按钮来触发按钮里面的函数李盯功能

如果有帮到你,谢谢采纳

Windows

窗体程序是基于消息机制的,所有控件,它的本质都是一个窗体,都是使用

CreateWindows

函数来创建,不过类名,则需要指定为系统预先注册的控逗举蔽件类,比如,你要创建一个按钮控件,就要这样子

CreateWindows(

"BUTTON",

"按钮标题"

),CreateWindows

这个函数你应该用了不少了吧,其余的参数可以参考

MSDN,但是类名我们指定了答枯

“BUTTON”,说明我们要创建一个按钮,每个按钮都有一个唯一的

ID,通过你的消息处理函数,可以知道哪个按钮发山州生了什么事件,详细讲的话,非常多,你可以参考

MSDN,或者《Windows

程序设计》这本书


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存