如何使Symbian C++程式全螢幕顯示

來源:互聯網
上載者:User

 

要想使Symbian C++程式實現全螢幕顯示,有以下幾個方法。

[edit]
遮蓋系統視窗

使用一個簡單的方法,就可以使我們的控制項或者控制項容器擴充到全螢幕地區,個方法可以應用在即便沒有全螢幕視圖的視圖架構裡。那麼這個方法就是,CCoeControl::SetExtentToWholeScreen(),你可以在CMyView::ConstructL函數中,ActivateL()函數之前進行調用。請看示範代碼:

void CMyView::ConstructL(const TRect& aRect){// Create a window for this application viewCreateWindowL();// Set the window sizeSetRect(aRect);// This view is a full-screen view.SetExtentToWholeScreen();// Activate the window, which makes it ready to be drawnActivateL();}

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 pressedif (aType==EEventKeyDown && (aKeyEvent.iScanCode == EStdKeyDevice0 || aKeyEvent.iScanCode == EStdKeyDevice1))    {Cba()->MakeVisible(ETrue);}else{Cba()->MakeVisible(EFalse);   }return EKeyWasNotConsumed;}

有了上述辦法,我們就可以將應用程式設定為全螢幕顯示了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.