c语言 win32api 创建一个按钮,点击按钮后,按钮消失?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言 win32api 创建一个按钮,点击按钮后,按钮消失?相关的知识,希望对你有一定的参考价值。
c语言Windows编程中,创建一个按钮,如何点击一个按钮,是该按钮消失?
点击一下该按钮,如何才能让这个按钮消失????使用什么函数?
第3方的库,比较常见的就像是MFC了,虽然它也是微软出的,不过就其本质来说也是第三方库性质的。
MFC也是基于windows消息,不过如果你使用VC这个微软IDE来做的话,可以简化对消息的处理,主要的好处是它对win32 API做了一些成熟的封装,利用这些封装可以减少开发时间。
第三方库主要就是加快开发时间,还有一些库还能帮助你用一种新的观点来就行GUI编程,例如楼主你这种情况。第3方库还能帮助跨平台移植,例如基于SDL库的程序可以让你写完一个代码,就同时产生可以在PC上的windows,MAC OSX,linux操作系统上运行的程序,同时还可以运行在惠普的ALPHA,IBM的POWER PC,索尼的PSP游戏机等各种设备上。
说完第3方库的好处就介绍一下可以使用C语言编程的第3方库吧。
在图形编程方面,opengl和SDL我个人觉得都不错。
opengl在windows中一般也是用消息来处理键盘按键,不过配合GLUT库,可以避开这一点。我学opengl的时候也使用GLUT,它可以产生SDL一样的那种“一次编码,处处运行”的效果。(当然,还没那么夸张)。GLUT不属于opengl的一部分,但是很流行,这就够了。
SDL开发里面完全见不到windows消息,这是因为它本来就被设计成用来开发完全跨平台的程序。
opengl和SDL的一个问题是,它没有按钮的概念,而且在程序中输入文字的处理也需要自己来做。一般也没多少人为它们开发文本输入框这一类的扩展的库,因为它不是干这个的。它们主要用来产生各种以多媒体图形为主的系统,偶尔处理一下键盘,鼠标(也许还有摇杆之类的)的输入。
如果需要一个带有输入框和按钮等概念的第3方GUI库,可以选择GTK,iup,wxWidget。特别是GTK和wxWidget,很出名,很优秀,跨平台(跨语言,其实iup可能更加跨语言,我喜欢iup因为它对我喜欢的lua语言支持不错)。
我推荐了iup,wxWidget,GTK,opengl,SDL这几个库,不过楼主可以通过了解这几个库,接触更多的库,也许你有机会找到一个真正适合自己的库,祝你好运。 参考技术A 在button的点击属性代码里加:button.visiable=false;这里你需要分清visiable是是否可见这个空间,Enable是是否可用,如果用的Enable.false的话就变得灰色不可用。 参考技术B ShowWindow(hbutton,SW_HIDE );
将hbutton改成你要隐藏的按钮的句柄就行了。本回答被提问者采纳
C语言Windows API编程中,创建多个edit控件,随机点击其中一个edit按钮,怎么得到该edit按钮的标识符?
C语言Windows API编程中,创建多个edit控件,随机点击其中一个edit按钮,怎么得到该edit按钮的标识符?我在使用Window API编写学生管理系统,使用EDIT 编辑框输出学生信息,现在随机点击其中一个EDIT 编辑框,怎么才能获取他的标识符或者句柄??因为创建了多个edit编辑框,如果使用switch(a ).....case....那么要创建很多的 case 1: .... case n:
有没有其他方式获取被点击的EDIT 编辑框的按钮的标识符或者是句柄?
被选中也就是焦点在此控件上,也可以用上面的方法查。
追问我表达的意思是:如果用switch(id) case 1:....;break; case 2:...;break; ....;case n:..break;如果通过这种方式获取被点击的EDIT的消息,那么要写很多个case :.......;break;才能找到是哪个edit编辑框被点击了。
有没有更简单的方法,来确定哪个edit编辑框被点击;
没,学sdk编程时候应该就告诉过你,窗体的事件都是通过消息来传递的。调用路由消息的api得到消息,固定套路。
追问谢谢你。如果是这样的,Windows API 编程,来编写有很多控件的程序的话,处理消息的反馈,会很麻烦。
追答mfc也是一样的,也要自己添加控件的消息来处理的。
本回答被提问者和网友采纳以上是关于c语言 win32api 创建一个按钮,点击按钮后,按钮消失?的主要内容,如果未能解决你的问题,请参考以下文章
C语言Windows API编程中,创建多个edit控件,随机点击其中一个edit按钮,怎么得到该edit按钮的标识符?
WIN32API:所有者绘制的按钮在单击时在文本周围创建白色背景
如何使用c语言的sc_close禁用messageboxa win32函数中的关闭按钮?
如何使用visual studio 2017编写一个C++程序