首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动平台 >

屏幕旋转时坐标的切换如何实现呢

2012-01-20 
屏幕旋转时坐标的切换怎么实现呢?目前在做移动平台的UI开发,做旋转屏幕时遇到一个问题。当前窗口的所有控件

屏幕旋转时坐标的切换怎么实现呢?
目前在做移动平台的UI开发,做旋转屏幕时遇到一个问题。

当前窗口的所有控件坐标都是通过宏定义的。当旋转屏幕后,相应的坐标值都要修改的。不知道旋转的时候,怎样修改这些值。举个简单的C语言的例子形象说明我的问题:

当前代码:
.h:
#define WIDTH 240
#define HEIGHT 320

绘制的时候调用该宏:
.c
Draw(WIDTH ,HEIGHT );

由于要调整屏幕想修改成的代码:
.h:

#ifdef ISWIDTHSCREEN /* 开关 */
#define WIDTH 240
#define HEIGHT 320
#else
#define WIDTH 320
#define HEIGHT 240
#endif

应用层保持不变。
.c
Draw(WIDTH ,HEIGHT );

遇到的问题:我想通过动态打开或者关闭ISWIDTHSCREEN来实现坐标的改变,也就是当需要改变屏幕方向时,想办法打开或者关闭该宏。不知道没有办法实现呢?

没有的话,不知道还有没有其他比较可行的办法达到上面的目的,非常感谢!





[解决办法]
你最好么不要用宏 宏么在你的case下面会比较讨厌
你是否可以hard code一些值
加上一些你判断横竖屏幕的逻辑 比如长大于宽 就是竖直的
类似的函数

getHeight ()
{
if (height>width)
return height;
else
return width
}

热点排行