现在市面上很多掌上电脑,如恒基伟业的掌上通、联想的天玑等内嵌的都是微软的wince操作系统,如果你买的是内嵌wince2.0操作系统的pda,那也就算了,但如果买的是内嵌wince3.0操作系统的pda,你就发现在这种操作系统下面所显示的对话框都是全屏!这种做法,不仅仅让我看的难受,而且在很多实际应用中都带来了不少的麻烦!!那么,对我们开发人员来说,如何在c编程中禁止对话框全屏显示呢?
其实这在技术上实现并不难,只是书店里关于wince编程的书太少,就更别说wince3.0的编程说明了。要资料你就得从网上找!噢,一不小心就多说了几句废话……。好,我们言归正传吧!
要禁止wince3.0操作系统下的对话框全屏显示,总的来说,有两种方法(使用的编程工具是微软发行的vc+toolkits或evc)。
第一种方法比较简单直接,就是使用微软偷偷在对话框类里加的一个变量m_bfullscreen,说到这个变量就忍不住要骂微软两句,好好的对话框,你硬要它全屏显示干啥!规定了全屏,又偏要藏一个控制全屏的变量,真是无聊!好了,气出完了,我们继续!这个变量是bool型的变量,当其为true时,对话框就会全屏显示,默认当然就是true了,所以我们要在对话框初始化之前,把这个变量设为false。见下例(这里假设你的对话框类名为cxxxdlg):
bool cxxxdlg::oninitdialog()
{
m_bfullscreen=false;
cdialog::oninitdialog();
…………
…………
…………
return true;
}