《Windows程序设计》之数字时钟

感觉这个时钟除了一些数学的知识外,还是映射坐标问题,到现在我也没有弄明白是怎么回事,贴点代码


void SetIsotropic(HDC hdc,int cxClient,int cyClient)
{
	//设置映射模式为MM_ISOROPIC
	SetMapMode(hdc,MM_ISOTROPIC);
	//设置Windows窗口大小1000*1000,窗口是看不到的,窗口的数据是用来显示到视图的
	SetWindowExtEx(hdc,1000,1000,NULL);
	//下面两句还是不理解,得不到好的解释,下面-cyClient改为cyClient后,时钟会上下反转
	SetViewportExtEx(hdc,cxClient/2,-cyClient/2,NULL);
	//下面设置圆心的显示地方
	SetViewportOrgEx(hdc,cxClient/2,cyClient/2,NULL);
}

SetViewportExtEx(hdc,cxClient/2,-cyClient/2,NULL);
这个地方为什么要做成负的cyClient?跟画图有关?那为什么不正着玩圆呢?郁闷中。


你可能感兴趣的:(windows,null)