Win 程序员如何过度到Symbian程序员?

http://tech.ddvip.com   2008年06月15日    社区交流

内容摘要:本文讨论了当一个典型的Windows C++程序员初次接触Symbian操作系统时可能遇到的问题。我们开发过三个成功版本Symbian操作系统的经验使我们十分清楚在这个不算丰富稳定的环境中工作什么才是困难的。

  TInt lineHeight = screenDevice->VerticalPixelsToTwips(iRegularFont->HeightInPixels() + paraDelta);paraFormat.iLineSpacingInTwips = lineHeight;iDisplay->RichText()->ApplyParaFormatL(&paraFormat, paraFormatMask, 0, iDisplay->TextLength());但是这还不是全部——关于文本视图对象还另有天地,特别是CTextView和CTextLayout,连同他们的帮助对象一起。当我们想在编辑控制中定位滚动点,以使文本的最后一行可以处于编辑控制底部之上一行的位置,我们就不得不了解到CTextView的存在,以及如何获得它,还有关于CTextView::SetViewL、TViewYPosQualifier::SetHotSpot及TViewYPosQualifier::SetMakeLineFullyVisible.他们看起来是这个样子的:TInt yPos = iDisplay->TextView()->ViewRect()。iBr.iY;TViewYPosQualifier yPosQualifier;yPosQualifier.SetHotSpot(TViewYPosQualifier::EFViewBottomOfLine);yPosQualifier.SetMakeLineFullyVisible(TViewYPosQualifier::EFViewForceLineFullyVisible);iDisplay->TextView()->SetViewL(iDisplay->TextLength(),yPos,yPosQualifier,CTextView::EFViewDiscardAllFormat);谁会想得到呢?我们的一位同事就是不相信这是就此可行的惟一途径,但是他通过利用许多(各种各样的)存在于各个类之中的各种API,试用了各种不同的方法来证明了这一点。

  我们正在描述的这种复杂性其实是因为Symbian操作系统提供的功能实在太丰富了,理解这一点很重要。一旦你了解了这个领域,你就会对Symbian操作系统的对象结构是如此明智感激不尽,然后很快你就会发现你能够预知你需要的函数藏在什么地方。如此重复,你会发现我们刚开始的困惑现在已经变成了一种审美享受。

责编:豆豆技术应用

正在加载评论...