科技行者

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

知识库

知识库 安全导航

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

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

  • 扫一扫
    分享文章到微信

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

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

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

关键字:

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

表 1 显示了各方法(调整内容适应窗口大小有两个示例)在 Pocket PC 的 Windows Mobile 软件中刷新屏幕内容的示例:

屏幕刷新选项 竖向 横向

调整内容适应窗口大小

重新调整日历网格单元的大小以适用工作区域。

screen_orientation_awareness01

screen_orientation_awareness02

调整内容适应窗口大小

“内存”设置控制面板将列表框重新设置为最大尺寸,然后重新确定它四周所有界面元素的位置。

screen_orientation_awareness03

screen_orientation_awareness04

更改内容。

“日历”在横向显示模式下一次只显示 8 个月份。

screen_orientation_awareness05

screen_orientation_awareness06

更改布局。

在横向显示模式下,Windows Media Player 的按钮出现在视频内容的一侧,不是在下端。

screen_orientation_awareness07

screen_orientation_awareness08

设计正方形。

日历“选项”对话框的整个内容在两种取向模式下都显示在 240x240 的正方形区域内。

screen_orientation_awareness09

screen_orientation_awareness10

表1:竖向图与横向图的屏幕刷新选项

请记住,要尽可能的设计通用布局,这样应用程序可处理任意尺寸和任何宽高比的显示内容。这意味着尽可能避免分开设计横竖向模式。如果必须设计不同的横竖向布局模式,不要简单地因屏幕宽度大于屏幕高度,而假设应用程序能在横向模式下显示。例如,设备屏幕宽可能有 321 个像素,而屏幕高有 320 个像素。在这样的设备上,应用程序也许能以横竖向两种模式显示,应选择应用程序最适用或首选的模式,这可能是竖向模式。

RelayoutDialog

在 CrosswordSample 应用程序中,有一个函数是 RelayoutDialog,它可帮助重新设置、重新定位对话框中的子控件。例如,假设对话框有两个对话模板,一个用于横向,一个用于竖向。如果这两个模板中的控件相同,且有相同的控件 ID,则可使用下列代码作为 WM_SIZE 处理程序:

case WM_SIZE:

RelayoutDialog(g_hInst, hDlg, InWideMode() ?

MAKEINTRESOURCE(IDD_TOOLS_OPTIONS_1_WIDE) :

MAKEINTRESOURCE(IDD_TOOLS_OPTIONS_1));

注意:定义为 IDC_STATIC 的控件具有相同的控件 ID,所以如果有多个 IDC_STATIC控件,应当把它们重命名为 IDC_STATIC_1、IDC_STATIC_2等。

如果静态控件在新布局中也发生了变换,RelayoutDialog 会同时更新静态控件的文本和位图。

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

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

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