认识 windows mobile 的窗口部件
为了查阅MSDN、沟通交流,我们先来认识一下windows mobile的UI部分。如下图,我们需要搞清楚几个基本的概念:
- SIP - soft input panel, 软输入面板,就是输入法切换面板。
- Task bar,任务条,用来显示程序名称标题,选择程序,退出程序。
- Menu bar也叫Soft key bar或者Command bar,用来显示软按键菜单。
有了这些概念,以后再看文档就容易看懂了。比如要想知道如何隐藏输入法面板,就可以google一下“hide SIP windows mobile”来查找了。
全屏显示棋盘
手机屏幕很小,比如QVGA才有240x320像素,为了好看些,我们的象棋程序需要占用整个手机屏幕,也就是全屏显示。所以我们来研究一下windows mobile的全屏显示技术。
总体来说,要把一个窗口全屏显示,需要下面的步骤:
-
调用SHFullScreen()隐藏SIP, Task bar。
-
调用ShowWindow()隐藏Menu bar或者用MoveWindow()把window bar移出屏幕。用MoveWindow()的作用是保留soft key能接收消息。
-
调用MoveWindow()修改窗口的位置和大小,以便全屏显示。
要把一个对话框全屏显示,需要下面的步骤:
-
调用函数SHInitDialog()设置dwFlags为SHIDIF_FULLSCREENNOMENUBAR。
-
调用MoveWindow()设置对话框大小为整个屏幕的大小。
-
调用SetForegroundWindow()设置对话框为前景窗口。
-
调用SHFullScreen()隐藏Task bar和SIP bar。
或者保留menu bar,只是把它移出到屏幕外,以便接收soft key消息:
-
调用函数SHInitDialog()设置dwFlags为SHIDIF_SIZEDLGFULLSCREEN。
-
调用SHFullScreen()隐藏Task bar和SIP bar。
-
调用SetWindowPos()移出Menu bar。
-
调用MoveWindow()设置全屏的对话框。
参考资料:
-
window mobile 6 sdk的sample "Full Screen".
(欢迎转载,转载请注明来源和作者:杨波)
代码: