我在GUI库中遇到了很多不好的经历
所以我想知道如何在c ++中从头开始创建一个窗口 我不是在谈论win32,我的意思是基本上是在没有任何外部库的情况下创建它
有没有办法可以使用图片或其他东西来创建一个窗口 是的我知道这会有多难。
我也读到某处可以在程序集中为c ++制作库
有没有办法在程序集或c ++中创建自定义gui
编辑: 我的目标只是windows
PS:我想学习如何做到这一点的另一个原因是因为
我可能想要实际创建一个操作系统。所以我想要GUI ...
答案 0 :(得分:17)
要创建窗口,您需要与操作系统上当前存在的任何窗口系统进行交互。如果窗口管理器在内核空间中运行(如Windows中的情况)或者用户空间窗口管理器(如X)的某种进程间通信,则需要系统调用。要从头开始创建窗口,您需要了解这些窗口管理器的工作方式以及它们使用的协议。在X的情况下,找到协议如何工作的资源应该不会太难。对于Windows,您唯一的选择可能是使用API,因为窗口管理器的内部是专有的。
答案 1 :(得分:5)
您可以尝试将源代码仔细阅读MenuetOS - 我相信它完全是在汇编中编写的,它有一个GUI。当然,如果您正在尝试编写在Windows,Linux等上运行的程序,这将无效。但如果您想避免所有外部库,包括与Windows连接,您将不得不在裸机上运行
答案 2 :(得分:1)
如果你疯狂到装配这件事继续安装masm32,它可以做基本的GUI,如windows / messagebox等。
答案 3 :(得分:-6)
通过调用“CreateWindowEx”Win32 API,您可以在Windows上“从头开始”创建一个窗口。