Symbian 开发技巧总结100条
2010-03-15 15:52:00 来源:WEB开发网if(uid==KUidCertainApp){
// do something
}
73. CQikAppUi::BaseConstructL主要执行以下流程:
CQikAppUi::CPimpl::CPimpl(CQikAppUi &)(CPimpl * const this=0x0739e7ac, CQikAppUi & aQikAppUi={...})
CQikAppUi::CPimpl::ConstructL(CEikonEnv &)(CPimpl * const this=0xffffffff, CEikonEnv & aEnv={...})
SkinManager::CreateL (0D9249D2h)
SkinManager::AddThemeChangeObserverL (0D9249D8h)
CQikCommandManager::CreateL(MQikCommandHandler &, CEikonEnv &)
74. 第三方程序中无法使用相机快门键(EKeyCamera事件)
#define EKeyCameraShutter 0xf883
该键值的事件需要在window server中显式的请求:
// Capture events from the camera shutter key (SwEvent capability required)
iCameraKeyHandle = iCoeEnv->RootWin().CaptureKey( EKeyCameraShutter, 0, 0 );
返回值iCameraKeyHandle(TInt32)可以用来取消该键捕捉请求,特别当退出程序时:
if ( iCameraKeyHandle >= 0 )
{
iCoeEnv->RootWin().CancelCaptureKey( iCameraKeyHandle );
}
对焦键事件:半按下快门键将产生另一个不同的按键事件(对焦),可以通过下列scan code来检测该键的EEventKeyDown和EEventKeyUp事件:
#define EStdKeyCameraFocus 0xe2
75. 显示副标题:
ViewContext()->AddTextL(0,_L("Hello Title2!"));
76. 据说下面方法可以修改一个Application的所有视图皮肤:
void OverrideSkinPatchL(TUid aSkinUid,
TInt aPatchIndex,
CWsBitmap *aSkinBitmap,
TSkinDrawMode aSkinDrawMode,
TMargins8 aDrawMargins);
-> CQikWsBitmapBackground不支持masking. 建议继承MCoeControlBackground 自画 CWsBitmap with CWindowGc::DrawBitmapMasked.
-> 另设置方式:
CWsBitmap* iBkbitmap;
CQikWsBitmapBackground* iWsbk;
在View.cpp
RWsSession WsSession;
WsSession.Connect();
- ››Symbian S60 SocketConnection参数
- ››开发学院教你用SQL 语句最快速清空MySQL 数据表的...
- ››Symbian乏力:2010年诺基亚悲情大事记
- ››Symbian三大升级开启2011年新战略
- ››Symbian/Android/iOS/WM安装包对比
- ››Symbian一个活动对象的测试例子
- ››Symbian ListBox控件
- ››Symbian下自动切换SDK的批处理代码
- ››Symbian 3 版的 Swype 输入法正式上架
- ››Symbian中的设计模式
- ››Symbian S60平台JAVA开发环境搭建步骤
- ››Symbian自定义控件—如何实现跑马灯效果
更多精彩
赞助商链接