如何使Symbian C++程序全屏显示

 

要想使Symbian C++程序实现全屏幕显示,有以下几个方法。

[edit] 遮盖系统窗口

使用一个简单的方法,就可以使我们的控件或者控件容器扩展到全屏幕区域,个方法可以应用在即便没有全屏幕视图的视图框架里。那么这个方法就是,CCoeControl::SetExtentToWholeScreen(),你可以在CMyView::ConstructL函数中,ActivateL()函数之前进行调用。请看示范代码:

	void CMyView::ConstructL(const TRect& aRect)
		{
		// Create a window for this application view
		CreateWindowL();

		// Set the window size
		SetRect(aRect);

		// This view is a full-screen view.
		SetExtentToWholeScreen();

		// Activate the window, which makes it ready to be drawn
		ActivateL();
		}

SetExtentToWholeScreen()函数在支持皮肤的S60(从S60第二版之后,如图所示)应用程序中,并不推荐使用。不过,因为全屏幕的应用程序并不需要什么特别的皮肤支持,所以实际上来讲并不会产生太大的问题。

 

[edit] 隐藏

屏幕上方的状态窗口和下方的功能键窗口都可以被隐藏,我们可以用这样的方法实现应用程序的全屏化处理。下面的代码可以应用在AppUi层来将状态窗口(status pane)隐藏起来。

	#include <eikbtgpc.h> 
	#include <avkon.rsg>
	StatusPane()->MakeVisible(EFalse);

而屏幕下方的功能键窗口,可以在AppUi层调用 Cba()->MakeVisible(EFalse);函数来进行隐藏。执行了这个函数之后,程序默认的功能键将不会再生成响应命令。如果要想使程序默认的左右功能键发挥作用,那么我们将不得不自己手动处理按键事件,这样的操作要在HandleKeyEventL()函数中进行:

	TKeyResponse  CMyAppUi::HandleKeyEventL(
		const TKeyEvent& aKeyEvent,TEventCode aType)
		{
		// Left or right softkey pressed
		if (aType==EEventKeyDown && 
			(aKeyEvent.iScanCode == EStdKeyDevice0 || 
			aKeyEvent.iScanCode == EStdKeyDevice1))    
			{
			Cba()->MakeVisible(ETrue);
			}
		else
			{
			Cba()->MakeVisible(EFalse);   
			}

		return EKeyWasNotConsumed;
		}

有了上述办法,我们就可以将应用程序设置为全屏幕显示了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值