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

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

?? mmsexample.cpp

?? 使用c編寫的彩信mms程序。很不錯
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
/*

        MMSExample.CPP - source file for MMSExample application
        

*/


#include <mtclreg.h>                        // for CClientMtmRegistry 
#include <msvids.h>                         // for Message type IDs
#include <mmsclient.h>                      // for CMmsClientMtm
#include <AknQueryDialog.h>                 // for CAknTextQueryDialog

#include "MMSExample.h"                     // own definitions
#include "MMSExample.hrh"                   // own resource header
#include <MMSExample.rsg>


// Own constants
const TUid KUidMMSExample = { 0x101F402F }; // MMSExample application UID 
const TInt KMaxAddressLength = 80;          // maximum length for a recipient address
const TUid KMMSExampleViewId = { 1 };       // UID of MMSExample view


//
// CMMSExampleContainer
//

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

    CMMSExampleContainer::ConstructL()

    Description: 2nd phase Constructor.

    Return value: N/A

-------------------------------------------------------------------------------
*/
void CMMSExampleContainer::ConstructL()
    {
    CreateWindowL();
    }

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

    CMMSExampleContainer::Draw()

    Simple Draw method.

-----------------------------------------------------------------------------
*/
void CMMSExampleContainer::Draw(const TRect& /*aRect*/) const
    {
    CWindowGc& gc = SystemGc();
    gc.Clear();
    
    // Draw text "MMS Example for Series 60"
    gc.SetPenColor(KRgbBlack); 
    const CFont* fontUsed = iEikonEnv->TitleFont();
    gc.UseFont(fontUsed);

    TInt baseline = (Rect().Height() / 2) - fontUsed->AscentInPixels()*2; // set text 2 * text ascent abowe the centerline
    TInt margin=0; // margin is zero so that the text will be cenetred

    _LIT(K1stLine,"MMS example");
    gc.DrawText(K1stLine,Rect(),baseline,CGraphicsContext::ECenter, margin);
        
    baseline = (Rect().Height() / 2) + fontUsed->AscentInPixels()*2; // 2nd line goes below the centerline

    _LIT(K2ndLine,"for Series 60");
    gc.DrawText(K2ndLine, Rect(), baseline, CGraphicsContext::ECenter, margin);
    }

//
// CMMSExampleAppView
//

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

    CMMSExampleAppView::NewL()

    2nd phase construction.

    Return values:      CMMSExampleAppView*

-----------------------------------------------------------------------------
*/
CMMSExampleAppView* CMMSExampleAppView::NewL()
    {
    CMMSExampleAppView* self=NewLC();
    CleanupStack::Pop(); // self
    return self;
    }

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

    CMMSExampleAppView::NewLC()

    2nd phase construction. Created object is put into CleanupStack
    before calling ConstructL(). Note that object is left in CS so the caller 
    must take care of popping it out.

    Return values:      CMMSExampleAppView*

-----------------------------------------------------------------------------
*/
CMMSExampleAppView* CMMSExampleAppView::NewLC()
    {
    CMMSExampleAppView* self = new(ELeave) CMMSExampleAppView();
    CleanupStack::PushL(self);
    self->ConstructL();
    return self;
    }

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

    CMMSExampleAppView::CMMSExampleAppView()

    C++ constructor

-----------------------------------------------------------------------------
*/
CMMSExampleAppView::CMMSExampleAppView()
    {
    }

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

    CMMSExampleAppView::ConstructL()

    2nd phase constructor.

    Return value: N/A

-----------------------------------------------------------------------------
*/
void CMMSExampleAppView::ConstructL()
    {
    }

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

    ~CMMSExampleAppView()

    Description: Destructor.

    Return value: N/A

-------------------------------------------------------------------------------
*/
CMMSExampleAppView::~CMMSExampleAppView()
    {
    if(iContainer)
        AppUi()->RemoveFromStack(iContainer);
    }

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

    CMMSExampleAppView::Id()

    Description: Returns the id of the view object.

    Return value: TUid

-------------------------------------------------------------------------------
*/
TUid CMMSExampleAppView::Id() const
    {
    return KMMSExampleViewId;
    }

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

    CMMSExampleAppView::DoActivateL()

    Description: Activate this view.

    Return value: N/A

-------------------------------------------------------------------------------
*/
void CMMSExampleAppView::DoActivateL(const TVwsViewId& /*aPrevViewId*/, TUid /*aCustomMessageId*/, const TDesC8& /*aCustomMessage*/ )
    {
    if (!iContainer) // container hasn't been created yet
        {
        // Then construct the UI components
        iContainer = new(ELeave) CMMSExampleContainer;             
        iContainer->ConstructL();                   // Construct a view control
        iContainer->SetRect(ClientRect());          // Sets view control's extent to the space available
        }

    iContainer->ActivateL();                        // Activate the view control
    }


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

    CMMSExampleAppView::DoDeactivate()

    Description: Deactivate this view.

    Return value: N/A

-------------------------------------------------------------------------------
*/
void CMMSExampleAppView::DoDeactivate()
    {
    if (iContainer)
        {
        delete iContainer;
        iContainer = NULL;
        }
    }



//
// CMMSExampleAppUi
//

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

  CMMSExampleAppUi::ConstructL()                          
  
  2nd phase constructor

-----------------------------------------------------------------------------
*/
void CMMSExampleAppUi::ConstructL()
    {

    BaseConstructL();                                   // init this AppUi with standard values

    iRecipient = HBufC::NewL(KMaxAddressLength);          // for recipient address (gsm number or E-Mail addr)

    // Create CMsvSession
    iSession = CMsvSession::OpenAsyncL(*this); // new session is opened asynchronously
                                               // CompleteConstructL() is called when async finishes
    // Series60 view launching
    CMMSExampleAppView* view = CMMSExampleAppView::NewLC(); 
    AddViewL(view);                            // add created view to this AppUi
    ActivateLocalViewL( view->Id() );          // activate view
    CleanupStack::Pop(); // view
    }

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

    CMMSExampleAppUi::~CMMSExampleAppUi()

    Destructor.

-----------------------------------------------------------------------------
*/
CMMSExampleAppUi::~CMMSExampleAppUi()
    {    
    delete iRecipient;

    delete iMmsMtm;
    delete iMtmReg;

    delete iSession;    // session must be deleted last (and constructed first)
    }




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

    CMMSExampleAppUi::CompleteConstructL()

    Creates client MTM registry when session is ready for use. 
    This completes model construction and is called after 'server
    ready' event is received after async opening of CMsvSession.

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

void CMMSExampleAppUi::CompleteConstructL()
    {
    // We get a MtmClientRegistry from our session
    // this registry is used to instantiate new mtms.
    iMtmReg = CClientMtmRegistry::NewL(*iSession);
    iMmsMtm = (CMmsClientMtm*) iMtmReg->NewMtmL( KUidMsgTypeMultimedia );

    // notify the user with a InfoWin (this will be shown in emulator only)
    iEikonEnv->InfoMsg(_L("Server session opened."));
    }



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

    CMMSExampleAppUi::HandleSessionEventL()

    Receives session events from observer and calls event handling functions. 
    Note that if additional session event handlers are defined 
    in the session, they are called before this function (as this is the
    main session observer).

    The type of event is indicated by the value of aEvent. The 
    interpretation of the TAny arguments depends on this type. For most 
    event types, the action that is taken, for example updating the 
    display, is client-specific. All clients though should respond to 
    EMsvCloseSession and EMsvServerTerminated events. 

-----------------------------------------------------------------------------
*/
void CMMSExampleAppUi::HandleSessionEventL(TMsvSessionEvent aEvent, TAny* /*aArg1*/, TAny* /*aArg2*/, TAny* /*aArg3*/)
    {
    switch (aEvent)
        {
            // This event tells us that the session has been opened
        case EMsvServerReady:
            CompleteConstructL();       // Construct the mtm registry & MMS mtm
            break;

        default:
            // All other events are ignored
            break;
        }

    }



/*

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲福利社区一区| 国产精品美女一区二区三区| 国产+成+人+亚洲欧洲自线| 尤物视频一区二区| 久久久精品免费免费| 欧美日韩亚洲综合在线 | 丁香天五香天堂综合| 午夜视频在线观看一区二区三区| 国产日韩欧美不卡| 精品国产一区二区三区久久久蜜月| 日本福利一区二区| 国产99久久精品| 久久电影网电视剧免费观看| 艳妇臀荡乳欲伦亚洲一区| 国产精品日韩精品欧美在线| 欧美大片顶级少妇| 欧美麻豆精品久久久久久| 成人av在线看| 国产成人高清在线| 狠狠网亚洲精品| 偷拍与自拍一区| 夜夜精品视频一区二区| 国产精品久久久久久久岛一牛影视| 精品国产免费人成在线观看| 欧美卡1卡2卡| 欧美三区在线视频| 日本高清无吗v一区| 成人avav在线| 成人aa视频在线观看| 国产精品99久久久| 国产在线视频精品一区| 精品一区二区三区在线播放| 久热成人在线视频| 麻豆精品视频在线观看免费| 日本不卡中文字幕| 丝袜亚洲精品中文字幕一区| 亚洲18女电影在线观看| 亚洲午夜一区二区| 性感美女极品91精品| 亚洲成人动漫一区| 天堂成人免费av电影一区| 亚洲成人自拍偷拍| 视频一区二区三区入口| 国产一区二区在线看| 国内不卡的二区三区中文字幕| 美女任你摸久久| 极品少妇xxxx偷拍精品少妇| 国产一区二区三区四区五区入口 | 激情综合网av| 国产综合色精品一区二区三区| 毛片基地黄久久久久久天堂| 久久99蜜桃精品| 国产成人日日夜夜| 成人精品亚洲人成在线| 91亚洲精品一区二区乱码| 色婷婷综合久久久久中文一区二区| 日本韩国一区二区三区视频| 欧美日韩亚洲国产综合| 日韩精品一区二区三区中文不卡 | www.激情成人| 色综合夜色一区| 欧美大片在线观看一区| 26uuu亚洲| 亚洲天堂中文字幕| 性做久久久久久久免费看| 久久97超碰国产精品超碰| 国产精品一区一区| 91色在线porny| 欧美欧美欧美欧美| 久久日一线二线三线suv| 国产精品福利一区二区三区| 午夜视频在线观看一区二区 | 国产精品美女久久福利网站| 亚洲精品视频一区二区| 日本视频一区二区| 成人网在线播放| 欧美日韩一本到| 久久久精品影视| 亚洲一级电影视频| 国内成人精品2018免费看| 99精品欧美一区| 欧美一区二区福利视频| 国产精品欧美一区二区三区| 亚洲高清不卡在线| 国产成人综合视频| 欧美日韩高清一区| 五月婷婷激情综合| 成人av在线影院| 欧美不卡123| 亚洲综合视频在线| 国产激情视频一区二区在线观看 | 日韩精品一区二区三区在线| 国产欧美日韩三级| 日本午夜精品一区二区三区电影| 国产98色在线|日韩| 8x8x8国产精品| 亚洲视频一二区| 激情文学综合插| 欧美日韩在线三级| 国产精品进线69影院| 美女视频免费一区| 欧美性极品少妇| 国产精品欧美经典| 久久99精品国产麻豆婷婷洗澡| 色哟哟一区二区| wwwwxxxxx欧美| 五月天欧美精品| 91麻豆.com| 国产精品少妇自拍| 精品综合免费视频观看| 欧美无砖砖区免费| 国产精品久久午夜| 国产又粗又猛又爽又黄91精品| 欧美色倩网站大全免费| 中文字幕一区二区日韩精品绯色| 国产一区在线观看视频| 日韩欧美电影在线| 日韩精品高清不卡| 欧美日韩免费观看一区三区| 亚洲欧美日韩精品久久久久| 国产成人免费网站| 久久婷婷综合激情| 激情综合色播五月| 正在播放一区二区| 丝袜亚洲另类欧美| 555www色欧美视频| 婷婷丁香激情综合| 欧美日本一区二区三区四区| 亚洲图片有声小说| 欧美日韩成人高清| 午夜伦欧美伦电影理论片| 欧美日韩中字一区| 亚洲国产精品久久人人爱 | 7777精品伊人久久久大香线蕉 | 亚洲成人自拍偷拍| 欧美色大人视频| 亚洲成a人v欧美综合天堂| 欧美视频在线一区| 亚洲一级二级三级在线免费观看| 欧美在线观看禁18| 亚洲aaa精品| 91精品国产91热久久久做人人| 日本大胆欧美人术艺术动态| 日韩欧美在线不卡| 国产一区二区91| 国产亚洲欧美一级| www.色精品| 一区二区三区四区在线播放| 欧美日韩国产在线播放网站| 亚洲成a人在线观看| 日韩精品专区在线| 国产成人小视频| 中文字幕一区二区三区不卡在线| 色综合天天视频在线观看| 亚洲精品日韩专区silk| 精品视频在线看| 毛片av一区二区| 国产日韩成人精品| 色婷婷久久久亚洲一区二区三区 | 日本大胆欧美人术艺术动态| 欧美大片在线观看| 成人精品电影在线观看| 亚洲精品你懂的| 91精品久久久久久久久99蜜臂| 韩国女主播一区| 国产精品白丝在线| 欧美久久久久免费| 国产尤物一区二区| 亚洲黄网站在线观看| 日韩一级片网址| 北条麻妃一区二区三区| 婷婷丁香激情综合| 国产人成亚洲第一网站在线播放| 色综合天天综合| 免费不卡在线观看| 国产精品久久久久久久久果冻传媒 | 中文字幕久久午夜不卡| 欧美在线观看一二区| 国产真实乱对白精彩久久| 亚洲视频免费在线| 日韩午夜在线影院| 波多野结衣在线aⅴ中文字幕不卡| 亚洲国产精品久久人人爱| 久久精品一区四区| 欧美探花视频资源| 国产大陆精品国产| 亚洲成a人v欧美综合天堂| 国产拍揄自揄精品视频麻豆| 欧美三级中文字| 成人免费观看av| 免费成人你懂的| 一区二区三区免费| 久久色.com| 欧美日韩国产区一| 99视频精品在线| 国产乱码精品一区二区三区忘忧草 | 国产日产精品1区| 欧美狂野另类xxxxoooo| 99精品视频一区| 国产一区二区福利视频|