c语言编译笑脸,C语言快速入门——笑脸绘图程序:窗口实现

将控制台窗口分为三部分

分割窗口事实上是通过把输入光标定位到某处,然后使用printf函数输出字符实现的。在程序中,这一功能是由help模块提供,具体由help_init函数提供实现。help模块中的接口使用控制台相关的Windows API(Windows提供的编程接口)来实现定位光标、设置文本颜色功能。这些函数并不属于C运行时库,目前只需要知道其作用就行。

Help.h

注释已经很好的说明了一切。需要注意的是,我们在头文件中只定义了一些常量与接口。上面虽然说这部分代码需要Windows API提供支持,这通常代表需要包含windows.h。但我们并没有,因为这部分是与实现相关的。在头文件中包含太多的头文件,会造成编译时间加长,甚至产生依赖问题。

Help.c

我们包含了Windows.h,同时定义了一个变量hConsole用于保存对控制台窗口的引用。你可能不熟悉HANDLE这个类型,不用多想,认为它同int之类的一样,是一种数据类型即可。代码中也引入了一些Windows Console API,不要纠结于自己不会使用它们。如前篇所言,学到最后,你会明白这很容易。目前只需要把重点放在Help.h提供的接口上。

对于help_init函数,有几点要说明:

控制台窗口左上角的坐标是(0,0),代表第1行第1列。

我们设置了控制台窗口的范围为:80个字符宽 x 40字符高。

从索引(0,20)也就是第1列21行,我们对窗口进行了上下分割

从索引(20,40)第21行41列,我们对下面部分进行了左右分割。

之所以说明这些,是因为后面要将对应的消息输出到正确的位置,需要这些参考信息。

Main.c

有了上面这些辅助函数的帮助,我们只需要简单的调用,便可以得到工作空间。

如果你在Windows 10下运行程序,控制台窗口可能与这里的不一样,这可以通过设置窗口属性来完成。

字体页:我选择的是点阵字体

颜色页:我选择的背景是黑色

选项页:如果有字符乱码的话,可以选中【使用旧版控制台】复选框。

使用Help.h中的其它接口

为了加深对“窗口坐标”的理解,我们决定使用Help.h中光标定位与输出接口,扩展主函数并输出三部分的左上解索引。因为后续的输出需要从这些位置开始。

码字不易,今晚先写到这里,下一篇我们将进入数据组织部分。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值