手机软件开发入门 - 中国象棋(2)090311

认识 windows mobile 的窗口部件

 

为了查阅MSDN、沟通交流,我们先来认识一下windows mobile的UI部分。如下图,我们需要搞清楚几个基本的概念:

  1. SIP - soft input panel, 软输入面板,就是输入法切换面板。
  2. Task bar,任务条,用来显示程序名称标题,选择程序,退出程序。
  3. Menu bar也叫Soft key bar或者Command bar,用来显示软按键菜单。

有了这些概念,以后再看文档就容易看懂了。比如要想知道如何隐藏输入法面板,就可以google一下“hide SIP windows mobile”来查找了。

全屏显示棋盘

手机屏幕很小,比如QVGA才有240x320像素,为了好看些,我们的象棋程序需要占用整个手机屏幕,也就是全屏显示。所以我们来研究一下windows mobile的全屏显示技术。

总体来说,要把一个窗口全屏显示,需要下面的步骤:

  1. 调用SHFullScreen()隐藏SIP, Task bar。
  2. 调用ShowWindow()隐藏Menu bar或者用MoveWindow()把window bar移出屏幕。用MoveWindow()的作用是保留soft key能接收消息。
  3. 调用MoveWindow()修改窗口的位置和大小,以便全屏显示。

要把一个对话框全屏显示,需要下面的步骤:

  1. 调用函数SHInitDialog()设置dwFlags为SHIDIF_FULLSCREENNOMENUBAR。
  2. 调用MoveWindow()设置对话框大小为整个屏幕的大小。
  3. 调用SetForegroundWindow()设置对话框为前景窗口。
  4. 调用SHFullScreen()隐藏Task bar和SIP bar。

或者保留menu bar,只是把它移出到屏幕外,以便接收soft key消息:

  1. 调用函数SHInitDialog()设置dwFlags为SHIDIF_SIZEDLGFULLSCREEN。
  2. 调用SHFullScreen()隐藏Task bar和SIP bar。
  3. 调用SetWindowPos()移出Menu bar。
  4. 调用MoveWindow()设置全屏的对话框。

参考资料:

(欢迎转载,转载请注明来源和作者:杨波)

代码:

发布了46 篇原创文章 · 获赞 7 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/yangbo_hr/article/details/3982031