Symbian 开发技巧总结100条
2010-03-15 15:52:00 来源:WEB开发网CWindowGc& gc = SystemGc();
gc.Activate(Window());
Draw(Rect());
gc.Deactivate();
ControlEnv()->WsSession().Flush();
}
// Clear view
void CImageAppView::Clear()
{
CWindowGc& gc = SystemGc();
gc.Activate(Window());
gc.Clear();
gc.Deactivate();
ControlEnv()->WsSession().Flush();
}
79. Re: CTextView如何设置透明? - 2007-03-07, 09:03
1. 从MFormCustomDraw派生一个类,重写它的DrawBackground()方法,在该方法中绘制背景
图片。注意,参数aParam的iDrawRect成员指定了本次重画的区域,应该画背景位图的对应
区域。例如:
aParam.iGc.DrawBitmap( aParam.iDrawRect, iBitmap, aParam.iDrawRect );
2. 通过CTextView的CTextLayout对象的SetCustomDraw()方法,将该MFormCustomDraw派生类
实例指针通知iLayout对象。我是在创建CTextView之前设置了CTextLayout实例的,不知道像
CEikRichTextEditor这种对象能不能通过其Layout()获得CTextLayout指针并设置,因为我
发现其函数定义是
const CTextLayout* Layout() const;
你可以自己去看看MFormCustomDraw的说明,这个类还有几个方法也挺有用的。
80. 使用TBidiText绘制文本,可以在Symbian7以上使用
const CFont *font = iEikonEnv->NormalFont();
gc.UseFont(font);
TBidiText *bidText = TBidiText::NewL(KLongText(), 50);
CleanupStack::PushL(bidText);
bidText->WrapText(Size().iWidth, *font, NULL);
//TSize sz = bidText->MinimumSize()
TPoint pt = aRect.iTl;
pt.iY += font->HeightInPixels();
bidText->DrawText(gc, pt, font->HeightInPixels());
CleanupStack::PopAndDestroy(bidText);
gc.DiscardFont();
81.
enum TTextEmphasis
{
ENoEmphasis =0x00, // 正常样式
EPartialEmphasis =0x10, // 字体改变
EFullEmphasis =0x20 // 字体和背景全部改变
};
82. 在S60管用,UIQ中不管用。
iLabel->OverrideColorL( EColorLabelText, KRgbRed );
- ››开发Android 日历教程
- ››开发学院总结 Win 8实用技巧大全
- ››开发学院原创教程:把win8的IE10放桌面上方法(非...
- ››开发者眼中的Windows Phone和Android
- ››Symbian S60 SocketConnection参数
- ››开发学院教你用SQL 语句最快速清空MySQL 数据表的...
- ››Symbian乏力:2010年诺基亚悲情大事记
- ››Symbian三大升级开启2011年新战略
- ››Symbian/Android/iOS/WM安装包对比
- ››Symbian一个活动对象的测试例子
- ››Symbian ListBox控件
- ››Symbian下自动切换SDK的批处理代码
更多精彩
赞助商链接