其实里面没有很难理解的算法,自己看程序就知道了。。。
一个主要是画图形界面,我就说说如何画3D对话框吧。。画3D框之前我参考了当时win98的窗体,左边和上边两条线是高亮白色然后右下两条边是暗灰色,这样就构成了立体的感觉。。然后填充窗体,填充区域的确定,即窗体的大小减去边框占用的大小,然后设定好颜色,使用bar函数填充,这些函数我都参考了TC3.0帮助手册的用法。。一个地方我当时比较难的便是计算标题的位置,只要计算出标题所占用的长度,将窗体整个长度减去标题长度除以2就行了。。
还有一个自己觉得比较难的就是制作进程条,首先我把文件长度计算出来,因为进程条通常是以100%为极限,所以必须用将文件大小除以100计算出每1%所需要的字节,然后根据进程条的长度计算相应的填充区,不断的刷新填充区的大小,直到100%为止,这里其实有个计算错误的地方,在调试程序的时候发现进程条填充区域会溢出,所以我用了一个很不科学的方法去修正这个错误,即减去一些值。。。。我想以后C语言学得好点了再去修改吧。。。。
还有就是BIOS键盘的键值我是怎么得到的。我使用了TC3.0帮助中对于bioskey()函数提供的一个实例一个个将键测试出来,真的很笨不是吗?由于许多功能我能力有限无法全部用C实现,只好用System()函数执行DOS命令,呵呵,真的很傻,现在看来。。。。