科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件开发识别屏幕方向的应用程序(1)

开发识别屏幕方向的应用程序(1)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文读者可以了解基于Windows Mobile的设备如何在横竖向模式下显示、该功能的后台情况、为该功能开发移动应用程序的相关信息、开发者指南中新的建议和示例。

作者:51CTO.com 来源:51CTO.com 2007年9月1日

关键字: 识别 屏幕 方向

  • 评论
  • 分享微博
  • 分享邮件

适用范围:

Windows Mobile™ 2003 第二版软件

基于 Windows Mobile™ 的 Pocket PC

引言

Windows Mobile 2003 第二版软件为 Pocket PC 引入了新的功能,使基于 Windows Mobile 的设备可在横竖向两种模式下显示。在有些设备中,横向是默认的显示模式。此外,用户将能在使用中让屏幕在两种方向之间切换,而不必重新设置设备。

本文提供了有关该功能的后台信息、并介绍了开发适用于横竖向屏幕的移动应用程序的相关信息。此外,还向开发者提供了新的指南(包括一些建议和示例)供参考。

更改屏幕方向

通常,屏幕方向仅在用户使用“屏幕方向”控制面板,或按下某硬件按钮来旋转屏幕时才改变。

此外,应用程序也可通过 ChangeDisplaySettingsEx 函数以编程方式更改屏幕方向。该函数使用方法见 MSDN 中“Rotating the Content of the Screen”(旋转屏幕内容的方向)一文。例如,如果使用的应用程序只能在竖向模式下操作,则可通过编程改变屏幕方向。但是,如果屏幕方向的改变很突然,通过编程改变屏幕方向会让用户搞不清楚。应用程序应始终要求用户在旋转屏幕前确认显示模式。

为了在竖向模式下显示,将 dmDisplayOrientation 字段中的 DEVMODE 结构设置为 DMDO_0。对于右手横向模式,使用 DMDO_270。对于左手横向模式,使用 DMDO_90。

应用程序窗口如何识别屏幕方向

屏幕方向如果改变,或当“输入面板”出现时,应用程序的所有全屏顶层窗口都要适应新的取向。

注意:如果窗口的上、左、右坐标在工作区域边界之上或之外,该窗口被认为是全屏窗口。工作区域是标题栏下的整个屏幕区域。顶层窗口是无父窗口的窗口,即有一个 NULL 父窗口。

如果窗口大小改变,窗口将收到 WM_SIZE 通知。WM_SIZE 消息的 lParam 参数的低位字指定了客户端区域的新宽度,高位字指定了客户端区域的新高度。应用程序应识别窗口大小的改变,并相应地更新窗口布局。此外,也应重新确定所包含任何子窗口的布局。

如果应用程序没有全屏窗口,它收不到 WM_SIZE 通知。相反,它应在 wParam 参数设置为SETTINGCHANGE_RESET 时监听 WM_SETTINGCHANGE消息。

注意:如果应用程序有顶层窗口,或使用 SHHandleWMSettingChange、SHInitDialog 和 SHFullScreen 方法创建了窗口,它会同时收到 WM_SIZE 和 WM_SETTINGCHANGE 消息。但是,如果应用程序创建了子窗口,子窗口收不到 WM_SIZE 消息,即使子窗口是全屏窗口。

以下 WindowProc 模板的代码示例利用了 WM_SIZE 和 WM_SETTINGCHANGE 消息。

switch (uMessage)

{

case WM_SIZE:

// 重新计算所有子窗口的布局;重新设置

// 列出视图和编辑框的大小,重新确定按钮、

// 静态文字和其他控件的位置。

break;

case WM_SETTINGCHANGE:

if (SETTINGCHANGE_RESET == wParam) {

// 屏幕方向改变。此时

// 执行 WM_SIZE 不能执行的处理,

// 如重新调整全屏子窗口的大小,对

// 顶层窗口调用 MoveWindow 等等。

// 如果不需要处理 WM_SETTINGCHANGE 消息,可以

// 忽略它。

}

break;

}

刷新屏幕内容

使用 Windows Mobile 2003 第二版软件时,Pocket PC 的最小显示区域是 240 个像素高和 240 个像素宽。编程人员应保证应用程序在最低配置下可用。常见问题是,菜单在竖向显示模式下可能符合要求,但在横向显示模式不符合要求。如果这样,需要在两个菜单之间重新排列菜单项。

刷新应用程序的屏幕内容时,可以使用下列 4 个编程选项:

◆调整内容适应窗口大小 

◆更改内容 

◆更改布局 

◆设计所有布局通用的 240x240 正方形。

    • 评论
    • 分享微博
    • 分享邮件
          邮件订阅

          如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

          重磅专题
          往期文章
          最新文章