void DisplayDigit(HDC hdc,int iNumber)
{
//这个数组是根据所要显示的数字来判断显示7个六边形是的哪几个
static BOOL fSevenSegment[10][7]={
1,1,1,0,1,1,1,//0
0,0,1,0,0,1,0,//1
1,0,1,1,1,0,1,//2
1,0,1,1,0,1,1,//3
0,1,1,1,0,1,0,//4
1,1,0,1,0,1,1,//5
1,1,0,1,1,1,1,//6
1,0,1,0,0,1,0,//7
1,1,1,1,1,1,1,//8
1,1,1,1,0,1,1};//9
//7个六边形的42个点的坐标,总84个数字
static POINT ptSegment[7][6]={7,6,11,2,31,2,35,6,31,10,11,10,
6,7,10,11,10,31,6,35,2,31,2,11,
36,7,40,11,40,31,36,35,32,31,32,11,
7,36,11,32,31,32,35,36,31,40,11,40,
6,37,10,41,10,61,6,65,2,61,2,41,
36,37,40,41,40,61,36,65,32,61,32,41,
7,66,11,62,31,62,35,66,31,70,11,70};
int iSeg;
//总共有7个六边形,要进行遍历,通过fSevenSegment来判断是否显示
for(iSeg=0;iSeg<7;iSeg++)
//根据输入的数字来选择10组中的哪一组来判断
if(fSevenSegment[iNumber][iSeg])
//根据坐标画出多边形
Polygon(hdc,ptSegment[iSeg],6);
}
void DisplayTwoDigits(HDC hdc,int iNum
《Windows程序设计》之数字时钟
最新推荐文章于 2024-07-01 06:14:58 发布
这篇博客探讨了《Windows程序设计》中关于数字时钟的代码,特别是38到42行和114到123行的逻辑。作者指出,逻辑坐标的正负方向不明确,个人推测向右为负,但不清楚具体原因。同时,对于114到123行的点设置顺序和最后映射点的作用感到困惑,期待读者的指导。
摘要由CSDN通过智能技术生成