实现状态面板的显示与隐藏
生活随笔
收集整理的這篇文章主要介紹了
实现状态面板的显示与隐藏
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
實現(xiàn)狀態(tài)面板的顯示與隱藏
下午練習(xí)了一下狀態(tài)面板的顯示與隱藏,參考的代碼是把 container 做為一個控件,放到 view 中,然后 在 AknViewAppUi 中創(chuàng)建 view ,基中在資源文件中定義? view 的 menu_bar,通過寫這個代碼又復(fù)習(xí)了一下 view 的寫法
其中繞了一個很大的圈,代碼都寫在了資源文件中及?把新建的工程轉(zhuǎn)成 view 模式了,等到寫面板時發(fā)現(xiàn)代碼只有幾句,如下
| CEikStatusPane* pan = StatusPane(); 這樣可以得到一個面板,然后通過 if (pan->CurrentLayoutResId() != R_AVKON_STATUS_PANE_LAYOUT_EMPTY) ????{ ?????pan->SwitchLayoutL(R_AVKON_STATUS_PANE_LAYOUT_EMPTY); ????} ????else ????{ ?????pan->SwitchLayoutL(R_AVKON_STATUS_PANE_LAYOUT_IDLE); ????} 即可實現(xiàn)狀態(tài)面板的顯示與隱藏 |
上面的代碼寫在 AknViewAppUi 中的 HandleCommandL 中,找一個菜單,把代碼加到那個菜單中就行
如果直接通過向?qū)梢粋€傳統(tǒng)模式的工程,可以在 AppUi 中寫如下代碼
| case EStatusLxCmdAppTest: ??????????? { ??????????? //iEikonEnv->InfoMsg(_L("test")); ????CEikStatusPane* pan = StatusPane(); ????if (pan->CurrentLayoutResId() != R_AVKON_STATUS_PANE_LAYOUT_EMPTY) ????{ ?????pan->SwitchLayoutL(R_AVKON_STATUS_PANE_LAYOUT_EMPTY); ?????iAppContainer->SetRect(ClientRect()); ?????iAppContainer->DrawNow(); ????} ????else ????{ ?????pan->SwitchLayoutL(R_AVKON_STATUS_PANE_LAYOUT_IDLE); ?????iAppContainer->SetRect(ClientRect()); ?????iAppContainer->DrawNow(); ????} ??????????? break; ??????????? } |
可以實現(xiàn)狀態(tài)面板的顯示與隱藏
關(guān)于 R_AVKON_STATUS_PANE_LAYOUT_EMPTY 的 layout 的說明
| 一共有 4 種 layout R_AVKON_STATUS_PANE_LAYOUT_IDLE?? 實現(xiàn)一個帶時鐘的狀態(tài)面板 R_AVKON_STATUS_PANE_LAYOUT_USUAL (default)? 默認(rèn)的 R_AVKON_STATUS_PANE_LAYOUT_POWER_OFF_RECHARGE? 默認(rèn)的,就是系統(tǒng)啟動后的(我測試是那種),看英文是電源關(guān)閉在充電中 R_AVKON_STATUS_PANE_LAYOUT_EMPTY? 實現(xiàn)關(guān)閉面板 |
上面幾種通過 SwitchLayoutL 去設(shè)定
安平2009@原創(chuàng)
qi_jianzhou@126.com
轉(zhuǎn)載于:https://www.cnblogs.com/zziss/archive/2010/02/03/1663068.html
總結(jié)
以上是生活随笔為你收集整理的实现状态面板的显示与隐藏的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C# VC HTTP POST GET(
- 下一篇: Repeater使用 AspNetPag