如何开发GUI在C#宇宙?

宇宙OS

没有正确的解决方案

其他提示

下面是如何(与里程碑5,但其类似于用于其它版本)。宇宙确实在VGA的东西给你。它也做鼠标和键盘。我一直没能做出一个键盘,但是我有一个工作的鼠标(虽然我还没有能够找到如何,看看是否按钮向下)。生病你展示VGA功能,让你开始。首先,你需要这个命名空间:

using Cosmos.Hardware;

然后,对于屏幕的可变住在添加此类级别变量:

 VGAScreen screen:

然后,对其进行初始化,这代码添加到BeforeRun()方法:

screen = new VGAScreen();
screen.SetMode320x200x8();
screen.Clear(0);

最后,可以设置像素与颜色:

screen.SetPixel320x200x8(uint x, uint y, uint c);

您设置x任何y和颜色,C。颜色是256色格式。数学是涉及使形状。

您必须先写VGA驱动程序。和鼠标驱动程序。并且有可能在垃圾收集器去。这么多的事情。

YES! 可以的话,我有一些什么好的图形用户界面,以及工作的鼠标驱动程序。 所以是的,这是可能的,但需要时间,你需要知道写什么,当你在做的鼠标驱动程序来读取,否则,它是可能的。

我是一个大家伙COSMOS,如果有人遇到这以后,我要离开一个办法做到这一点为2015年10月12日。

在我们开始之前我的 HIGHLY 的建议使用的devkit不userkit。虽然的devkit旨在修改宇宙本身,你可以保持从断送掉,然后关闭窗口VS当它完成安装。该具有的devkit的所有的该userkit具有的功能,但只userkit每月更新一次左右,也许更多,并且是的devkit每隔几天了最新的错误修正和功能更新。你一定要下载的devkit相反,因为它具有最支持吧。

好吧,所以拿到VGA,开辟一个新的Visual Studio窗口。创建一个新的Class Library并将其命名为任何你想要的挫折感。

转到引用并添加到Cosmos.HAL,Cosmos.Common和Cosmos.System的参考。你可以找到他们在%APPDATA%\漫游\宇宙用户套件

走进的AssemblyInfo.cs和添加using Cosmos.Common;,并在底部添加下列行: [组件:环(Ring.System)]

好了伟大,现在你需要去并创建一个名为任何新类。

在顶部,添加using Cosmos.HAL和使用系统。

...添加两行:

public static VGAScreen screen = new VGAScreen();public static Mouse mi = new Mouse();名称屏幕和MI任何你想要的。

创建名为任何一个Init和蜱方法。

下面是一个例子Init方法:

public static void InitVGA() {
    //Make SURE you have this exact line or else it won't work!  Any size other than 320x200 is broken, and 8-bit is the highest VGA compatible color depth.
    screen.SetGraphicsMode(VGAScreen.ScreenSize.Size320x200, VGAScreen.ColorDepth.BitDepth8);
    //There's a bug currently where only 6-bit color is supported with 8-bit.  0x3f is pure white.
    screen.Clear(0x3f);

    //mi.Initialize(320, 200);
}

现在在蜱方法,只是添加任何。任何你希望发生像每milisecond左右。它可以像,画鼠标什么的。你可以找到其他地方在互联网上,这是一个有点长的故事。

有你去,你现在有工作的VGA!

可以设置像素与screen.SetPixel320x200x8(X,Y,颜色);

适用颜色从0-3F。它遵循通用控制台颜色0-F,但只是增加了一吨更多的选项。

现在,刚刚建立这个DLL和它REF到主操作系统。现在,添加到yourvgaclass.Init在内核中BeforeRun方法的方法,以及yourvgaclass.Tick在内核运行方法。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top