C语言如何跟C#一样弄个窗体出来,并加入按钮之类的控件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言如何跟C#一样弄个窗体出来,并加入按钮之类的控件相关的知识,希望对你有一定的参考价值。

C语言写界面的话只能直接调用API函数.
直接调用API函数非常的繁琐. 需要了解一些Windows窗口和消息循环原理.
举个例子吧, 下面就是一个API函数, 需要包含windows.h头文件, 这个函数用来创建1个窗口;

HWND WINAPI CreateWindowEx(
DWORD dwExStyle, // 窗口扩展风格
LPCTSTR IpClassName,// 窗口类名
LPCTSTR lpWindowName, // 窗口标题
DWORD dwStyle, // 窗口样式
int x,int y, // 窗口的坐标x y
int nWidth, int nHeight, // 窗口的高度和宽度
HWND hWndParent, // 父级窗口句柄
HMENU hMenu, // 菜单句柄
HANDLE hInstance,// 程序的实例句柄
LPVOID lpParam // 额外参数
);

不要嫌参数多(虽然确实很多), 这都是一个窗口必不可少的属性, 事实上调用这个API之前你还必须填充一个10个成员的巨大结构, 用来确定窗口的背景, 风格, 图标等属性.

为什么C#创建窗口这么简单, C#同样是调用这个API来创建窗口的, 只不过它把那些细节的东西全都封装了起来, 程序员看不到了而已, 但是你如果要用C来写界面就必须要面对这些.

虽然API繁琐, 但是和C#相比, 无疑更加能够让你真正理解操作系统的原理和实现细节
参考技术A C#可以直接拖,C的话就要自己接手写了,我觉得还是用C#方便追问

但我想用C语言写出来,有没有什么办法啊

参考技术B 去用C++吧,有图形界面,比如QT追问

C语言不可以吗??

追答

据我所知,没有
c语言语法基本上跟c++一样
而且,c就不是拿来做界面的

参考技术C kankan追问

??

Unity,NGUI如何像GUI一样,点击按钮后弹出一个窗体呢

您之前问过,但并没有列出解决方法,能教我一下吗?谢谢

GUI 按钮点击 弹出窗体 是 用 if(GUI.button(...)); 然后点击后 出现 gui.window(...); 窗体是系统自己给的 而NGUI不管窗体和按钮都是需要你自己建立的 步骤一般是 建一个 Stripe 给予他 NGUI 自带的button脚本 使他变成一个按钮 再按 alt+shift+c 添加碰撞 在这个里写个代码 OnClick() 这个是 点击反馈 在里面调用 你窗体的方法 或者让他active = true 都可以 参考技术A 把窗口拼出来,做成Prefab,然后点击按钮以后生成这个窗口物体 参考技术B 我是先把窗口面板做出来,要用的时候就SetActive(true),不用的时候就false 参考技术C 我一般是有多个UI Root 点击按钮回调后,激活不同的UI Root

以上是关于C语言如何跟C#一样弄个窗体出来,并加入按钮之类的控件的主要内容,如果未能解决你的问题,请参考以下文章

c# 如何结束函数

C#里如何点击“取消(button2)”按钮后关闭窗体2,并返回窗体1?

Unity,NGUI如何像GUI一样,点击按钮后弹出一个窗体呢

C#如何调用JS文件中的函数

C# winform 窗体左右一部分显示 一部分隐藏

C#WinForm如何在点击按钮获取数据后,将数据在按钮所在窗体上显示出来