亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? bioexample.cpp

?? Symbian C++ of Nokia下的源碼
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
/*

        BIOexample.CPP - source file for BIOexample application
        C++ implementation


*/


//  Include Files
#include <eiklabel.h>                   // for CEikLabel 
#include <e32std.h>                     // for TPckgBuf
#include <smut.h>                       // for KUidMsgTypeSMS
#include <txtrich.h>                    // for CRichText
#include <eikenv.h>                     // for CEikonEnv
#include <editwatc.h>                   // for TEditorParameters
#include <txtfmlyr.h>                   // for CParaFormatLayer, CCharFormatLayer 
#include <sendui.h>                     // for CSendAppUi 


#include "BIOexample.h"             // own header
#include "BIOexample.hrh"           // own enumerations


// Constants
const TUid KUidBIOexampleApp = { 0x101F402A };      // BIOexample application UID 
const TUid KUidExampleMessageType = { 0x1000ffff }; // example BIO message type UID
_LIT(KBIOExampleTag, "//BIOEX #");                  // Our BIO message identifier tag + '#' (defined also in bioexamplebif.rss)
_LIT(KBIOExampleFrom, "From: ");
_LIT(KBIOExampleMessage, "Message: ");
const TInt KEditorTextLimit = 160;


//
// CBIOexampleContainer 
//

CBIOexampleContainer::~CBIOexampleContainer()
    {
    delete iComponentControl;
    delete iSender;
    }

void CBIOexampleContainer::ConstructL(TDes& aText, TDes& aSender)
    {
    ConstructContainerControlL();                     // Construct self
    ConstructComponentControlL(aText, aSender);       // Construct component control(s)
    }

TInt CBIOexampleContainer::CountComponentControls() const
    {
    return 2;                                         // iComponentControl is always there
    }

CCoeControl* CBIOexampleContainer::ComponentControl(TInt aIndex) const
    {
    if(aIndex==0)
        return iComponentControl;
    if(aIndex==1)
        return iSender;
    return NULL;
    }

void CBIOexampleContainer::ConstructContainerControlL()
    {
    CreateWindowL();                                   // Makes the control window owning
    }

void CBIOexampleContainer::ConstructComponentControlL(TDes& aText, TDes& aSender)
    {
    iComponentControl=new(ELeave)CEikLabel;                         // Create a CEikLabel object
    iComponentControl->SetTextL(aText);                             // Set label text
    
    iSender = new(ELeave)CEikLabel;
    iSender->SetTextL(aSender);
    
    }

void CBIOexampleContainer::SizeChanged()
    {
    TSize controlSize=iComponentControl->MinimumSize();             // Ask iComponentControl's size
    TSize containerSize=Rect().Size();                              // containerSize is CBIOexampleContainer's own size and can be found in the size of its rectangle.
    TPoint controlPosition((containerSize.iWidth-controlSize.iWidth)/2, 
                           (containerSize.iHeight-controlSize.iHeight)/2); // Calculate a position for control that places it to the center of CBIOexampleContainer
    TRect controlRect(controlPosition,controlSize);
        
    iComponentControl->SetRect(controlRect);                        // Set iComponentControl a rect in which it is supposed to appear.
    
    controlSize=iSender->MinimumSize();
    controlPosition.SetXY((containerSize.iWidth-controlSize.iWidth)/2,
                          ((containerSize.iHeight-controlSize.iHeight)/2) + controlSize.iHeight );
    TRect senderRect(controlPosition,controlSize);
    iSender->SetRect(senderRect);
    }

void CBIOexampleContainer::Draw(const TRect& /*aRect*/) const
    {
    CGraphicsContext& gc=SystemGc();                                // Get the graphics context in which to draw.

    gc.SetBrushStyle(CGraphicsContext::ESolidBrush);                // Set brush style to solid. Initial value in a graphics context is ENullBrush.

    gc.DrawRect(Rect());                                            // Draw a rectangle.
    }

TKeyResponse CBIOexampleContainer::OfferKeyEventL(const TKeyEvent& /*aKeyEvent*/, TEventCode /*aType*/)
	{
    TKeyResponse response=EKeyWasNotConsumed;   // not consuming any keys
    return response;
    }


//
//  CBIOexampleAppUi
//


/*
-------------------------------------------------------------------------------

    ~CBIOexampleAppUi

    Description: Destructor

    Return value: N/A

-------------------------------------------------------------------------------
*/
CBIOexampleAppUi::~CBIOexampleAppUi()
    {
    delete iContainerControl;
    iId = NULL;

    delete paraFormatLayer;
    delete charFormatLayer;
    delete messageBodyContent; 
    delete sendAppUi;
    }


/*
-------------------------------------------------------------------------------

    ProcessCommandParametersL();

    Description: Processing the command line parameters (when message is opened
                 from the messaging application, TMsvId of the message is passed
                 in command line parameters)

    Return value: TBool

-------------------------------------------------------------------------------
*/
TBool CBIOexampleAppUi::ProcessCommandParametersL(TApaCommand /*aCommand*/,TFileName& /*aDocumentName*/,const TDesC8& aTail)
    {
    // Only aTail parameter is of interest to us, it contains TEditorParameters object that contains
    // the TMsvId as one attribute.


    // Checking the length of comm line params
    if (aTail.Length() > 0) // we have comm line params => program was started from Messaging application
        {
        iNormalStart = EFalse;
        
        // --- reading command line parameters ---

        // Get the parameters passed by the launching MTMUI
        TPckgBuf<TEditorParameters> paramPack;      // the params are read into a TPckgBuf template (see SDK documentation for more info)
        paramPack.Copy(aTail);
        TEditorParameters params(paramPack());

        // saving the message id
        iId = &params.iId;
        }
    else    
        {
        // no command line params => program started manually
        iNormalStart = ETrue;
        }

    CompleteConstructL();     // complete construction with the command line parameters.

    return EFalse;
    }
/*
-------------------------------------------------------------------------------

    ConstructL();

    Description: 2nd phase Constructor. Setting up attributes, construction
    continues in CompleteConstructL() below.

    Return value: N/A

-------------------------------------------------------------------------------
*/
void CBIOexampleAppUi::ConstructL()
    {
    BaseConstructL();
    iNormalStart = ETrue;   // at this point we suppose that no comm line params have been given

    iId = NULL;             // set message id to NULL as default

    // for message sending
    paraFormatLayer=CParaFormatLayer::NewL();
    charFormatLayer=CCharFormatLayer::NewL();
    messageBodyContent=CRichText::NewL(paraFormatLayer, charFormatLayer); 
    
    // create sendAppUi
    sendAppUi=CSendAppUi::NewL(EBIOexampleCmdSend); // New Send ui object (number 'EBIOexampleCmdSend' is tied
                                                    // to our menu item "Send message" in "Messaging"

    }


/*
-------------------------------------------------------------------------------

    CompleteContructL();

    Description: Continuing construction... (after processing command line params)

    Return value: N/A

-------------------------------------------------------------------------------
*/
void CBIOexampleAppUi::CompleteConstructL()
    {

    TBuf<KEditorTextLimit> text, sender;    // for reading & presenting the message sender & body
    sender.Append(KBIOExampleFrom);         // insert field description ("From: ")

    // First check if app has been started from the messaging app or "the normal way", manually...
    if(iNormalStart == EFalse)  // we have comm line params and will open up message with the given TMsvId
        {
        
        // read the message into descriptors
        ReadMessageL(text, sender);

        // read message text and locate "//BIOEX #" header part
        TInt pos;
	    User::LeaveIfError(pos = text.Locate('#'));   // # is in the message only to test string handling here (it could be omitted)
	    pos++;
        text.Delete(0, pos);                          // delete message header tag

        // insert field description in front
        text.Insert(0, KBIOExampleMessage);     // "Message: "
        

        // Delete message from messaging server
        DeleteMessageL(*iId);
        iId = NULL;

        }
    else    // no comm line params, opening "empty" application
        {
        text.Append(KBIOExampleMessage);        // "Message: "
        text.Append(_L("No message loaded"));   // "Message: No message loaded"
        sender.Append(_L("N/A"));               // "From: N/A"
        }


    // Then construct the UI components
    iContainerControl = new(ELeave) CBIOexampleContainer;             
    iContainerControl->ConstructL(text, sender);             // Construct a view control with message text and sender number (in normal start these are empty)
    iContainerControl->SetRect(ClientRect());                // Sets view control's extent to the space available
    iContainerControl->ActivateL();                          // Activate the view control

    CCoeAppUi::AddToStackL(iContainerControl);               // Add container to Control Stack to make it automatically receive key events.

    }

/*

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩三级av在线播放| 国产视频一区在线观看| 狠狠色综合日日| 麻豆精品一区二区三区| 国产精品久久久久久久午夜片 | 欧美精品一区二区三区很污很色的 | 成人高清视频在线| 日韩欧美国产一二三区| 国产一区二区三区免费在线观看| 国产欧美一区二区三区沐欲| 欧美日韩一区二区三区视频| 成人激情开心网| 亚洲一区二区三区中文字幕在线| 日韩欧美一区在线| 日韩一区二区免费在线观看| 欧美午夜免费电影| 欧美天堂亚洲电影院在线播放| 欧洲一区在线电影| 欧美视频在线一区| 91麻豆精品国产91久久久资源速度| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 色综合久久88色综合天天| 国产麻豆精品theporn| 丁香六月综合激情| 美国一区二区三区在线播放| 久久国产人妖系列| 日韩国产欧美视频| 久久精品国产亚洲一区二区三区| 日韩黄色免费网站| 国产成人精品www牛牛影视| 美国三级日本三级久久99| 九九精品一区二区| 色综合久久久久网| 精品粉嫩aⅴ一区二区三区四区| 国产精品久久久久一区| 亚洲一区二区在线免费观看视频| 亚洲第一福利一区| 97精品电影院| 日韩视频国产视频| 国产午夜精品一区二区三区嫩草| 一区二区三区精品久久久| 久久99国内精品| 欧美日韩性生活| 国产欧美精品区一区二区三区 | 国产女同互慰高潮91漫画| 亚洲大片在线观看| 国内精品免费在线观看| 91色porny| 久久久久久久久岛国免费| 亚洲国产美女搞黄色| 免费成人在线播放| 色呦呦日韩精品| 国产精品系列在线| 午夜婷婷国产麻豆精品| 国产一区二区三区美女| 99re亚洲国产精品| 国产精品第一页第二页第三页| 理论电影国产精品| 精品国产乱子伦一区| 精品在线你懂的| 日韩视频在线一区二区| 首页欧美精品中文字幕| 激情丁香综合五月| 91超碰这里只有精品国产| 亚洲天堂av老司机| 色婷婷综合中文久久一本| 精品欧美久久久| 麻豆精品一区二区av白丝在线| 国产日韩欧美在线一区| 国产成人综合在线| 亚洲国产欧美一区二区三区丁香婷| 日本国产一区二区| 日韩福利电影在线| 国产精品成人在线观看| 欧美三级视频在线观看| 久久精品99国产精品日本| 久久日韩精品一区二区五区| 不卡的av电影| 理论电影国产精品| 亚洲高清免费视频| 日韩欧美国产午夜精品| 国产精品一级黄| 三级一区在线视频先锋| 中日韩免费视频中文字幕| 欧美年轻男男videosbes| 国产91丝袜在线18| 首页国产丝袜综合| 亚洲激情网站免费观看| 中文字幕精品一区 | 激情小说亚洲一区| 国产女同互慰高潮91漫画| 欧美va亚洲va| 91精品久久久久久蜜臀| 91麻豆产精品久久久久久| 久久不见久久见中文字幕免费| 中文字幕在线观看不卡| 欧美va亚洲va香蕉在线| 日韩午夜激情电影| 91视频xxxx| 国产91精品精华液一区二区三区| 国产欧美视频一区二区| 91精品福利在线一区二区三区| 成人性色生活片免费看爆迷你毛片| 一区二区三区国产豹纹内裤在线| 国产精品国产a级| 18涩涩午夜精品.www| 国产精品大尺度| 亚洲人成在线观看一区二区| 亚洲视频精选在线| 亚洲一区免费视频| 喷水一区二区三区| 毛片一区二区三区| 国产乱码精品一区二区三区av | 欧美成人三级电影在线| 日韩亚洲欧美高清| 亚洲人吸女人奶水| 日韩国产在线一| 久久se这里有精品| av电影天堂一区二区在线观看| 精品视频在线免费观看| 2022国产精品视频| 亚洲人成7777| 狠狠色狠狠色合久久伊人| 99久久国产综合精品色伊| 欧美日韩午夜在线| 国产精品进线69影院| 亚洲一区二区黄色| 国产一区二区网址| 精品噜噜噜噜久久久久久久久试看 | 午夜欧美视频在线观看| 一区二区三区四区高清精品免费观看 | 色av综合在线| 国产亚洲欧美在线| 美国av一区二区| 欧美一级xxx| 亚洲欧洲另类国产综合| 国产综合久久久久久鬼色| 日韩一区二区中文字幕| 五月天网站亚洲| 欧美性生交片4| 日韩av一区二| 精品少妇一区二区三区日产乱码| 美脚の诱脚舐め脚责91| 欧美一区二区免费视频| 免费视频一区二区| 久久视频一区二区| 成人午夜激情影院| 亚洲三级久久久| 欧美精品久久一区二区三区| 爽爽淫人综合网网站| 久久久久久久网| 97se亚洲国产综合自在线| 亚洲综合激情另类小说区| 在线播放亚洲一区| 蜜乳av一区二区| 日韩美女视频一区| 国产**成人网毛片九色| 久久久99免费| 8x福利精品第一导航| 高清日韩电视剧大全免费| 国产成人精品网址| 国产视频亚洲色图| 成人a区在线观看| 国产精品剧情在线亚洲| 成人午夜在线免费| 免费成人在线播放| 久久免费偷拍视频| 91浏览器在线视频| 视频一区欧美日韩| 国产精品久久综合| 久久这里都是精品| 91精品一区二区三区久久久久久| 日韩一区精品视频| 六月丁香婷婷久久| 亚洲18女电影在线观看| 天天爽夜夜爽夜夜爽精品视频| 国产福利一区二区三区视频 | 久久激五月天综合精品| 精品一区二区三区视频| 国产iv一区二区三区| 91麻豆6部合集magnet| 99re在线精品| 国产精品白丝av| 国产99精品国产| 国产精品一区二区男女羞羞无遮挡 | 国产乱妇无码大片在线观看| 亚洲第一在线综合网站| 一区二区三区不卡视频| 亚洲第一会所有码转帖| 亚洲gay无套男同| 亚洲成人一二三| 中文字幕一区二区视频| 综合久久久久久| 国产精品99久久久久| 国产精品一色哟哟哟| 免费高清视频精品| 午夜在线成人av| 久久精品99国产精品日本| 国产很黄免费观看久久| 97成人超碰视|