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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 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;
        }

    }



/*

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91在线视频观看| 香蕉成人伊视频在线观看| 韩国欧美国产1区| 日韩欧美电影在线| 另类小说视频一区二区| 久久在线观看免费| 国产激情91久久精品导航| 国产精品美女久久久久久久| av欧美精品.com| 亚洲综合另类小说| 日韩欧美三级在线| 国产成人丝袜美腿| 一区二区三区四区蜜桃| 欧美日韩国产系列| 国产高清不卡一区| 亚洲精品欧美激情| 日韩西西人体444www| 国产福利91精品| 一区二区高清免费观看影视大全| 91精品国产欧美一区二区成人| 国产在线精品一区二区不卡了 | 国产欧美一区二区三区在线看蜜臀| 丁香天五香天堂综合| 亚洲精品久久7777| 久久综合色一综合色88| 色婷婷综合久久久中文一区二区| 日韩影视精彩在线| 中文在线免费一区三区高中清不卡| 日本福利一区二区| 久久国产精品99精品国产 | 亚洲精品国产一区二区三区四区在线 | 樱桃国产成人精品视频| 日韩女优制服丝袜电影| 色婷婷综合久久久中文字幕| 激情欧美一区二区三区在线观看| 一区二区三区欧美亚洲| 久久精品一区二区三区不卡 | 日韩欧美综合在线| 不卡的av中国片| 美洲天堂一区二卡三卡四卡视频 | 日韩精品一级中文字幕精品视频免费观看| 久久久久久久久久久久电影| 欧美在线综合视频| gogogo免费视频观看亚洲一| 麻豆国产一区二区| 午夜精品在线视频一区| 亚洲欧洲日韩综合一区二区| 久久精品一区二区三区不卡牛牛| 欧美精品亚洲一区二区在线播放| 色综合中文字幕国产 | 色偷偷久久一区二区三区| 国产成人免费av在线| 日韩av在线播放中文字幕| 亚洲欧美电影一区二区| 欧美国产一区二区在线观看| 日韩亚洲欧美高清| 欧美日韩国产综合一区二区| 91免费观看在线| 高清国产午夜精品久久久久久| 狠狠网亚洲精品| 美女尤物国产一区| 日日欢夜夜爽一区| 午夜av区久久| 一区二区三区高清| 亚洲美女一区二区三区| 国产精品久久久久影视| 中文字幕国产精品一区二区| 欧美成人高清电影在线| 日韩一区二区三| 欧美一级二级在线观看| 欧美一区二区视频免费观看| 91精品国产综合久久国产大片 | 欧美一区二区视频在线观看| 欧美丰满高潮xxxx喷水动漫| 91精品视频网| 精品卡一卡二卡三卡四在线| 精品对白一区国产伦| 久久综合视频网| 国产欧美一二三区| 中文字幕日韩一区二区| 一区免费观看视频| 亚洲综合区在线| 丝袜美腿亚洲综合| 麻豆国产精品视频| 国产精品影音先锋| 国产69精品一区二区亚洲孕妇| 国产精品99久久久久久宅男| 国产成人av电影在线| 成人爽a毛片一区二区免费| 国产99精品在线观看| 99精品视频在线免费观看| 色天使色偷偷av一区二区 | 欧美大片日本大片免费观看| 精品久久久久久最新网址| 久久综合久久综合亚洲| 欧美极品美女视频| 亚洲乱码日产精品bd| 亚洲国产cao| 蜜臀av性久久久久蜜臀aⅴ四虎| 国产一区二区视频在线| 99精品视频在线免费观看| 精品视频在线免费看| 精品动漫一区二区三区在线观看| 国产精品视频线看| 水野朝阳av一区二区三区| 久久国产精品99久久久久久老狼| 粉嫩欧美一区二区三区高清影视| 日本韩国欧美一区| 91精品福利在线一区二区三区| 久久色在线观看| 亚洲午夜久久久久久久久久久 | 欧美一区日韩一区| 久久久99久久精品欧美| 一区二区三区在线免费视频| 日本亚洲免费观看| av资源站一区| 日韩欧美国产小视频| 国产精品久久久久久久久久免费看| 亚洲国产精品影院| 国产精品资源站在线| 欧美乱妇15p| 国产精品国产三级国产普通话蜜臀| 日韩不卡在线观看日韩不卡视频| 丁香激情综合五月| 日韩免费一区二区| 亚洲综合清纯丝袜自拍| 国产成人亚洲精品狼色在线| 欧美巨大另类极品videosbest| 久久精品视频在线免费观看| 日本在线不卡视频一二三区| 91一区一区三区| 久久精品一区八戒影视| 日本在线不卡一区| 在线亚洲高清视频| 欧美韩国日本不卡| 久久国产精品72免费观看| 欧美午夜精品理论片a级按摩| 国产亚洲精品精华液| 蜜臀av在线播放一区二区三区| 91九色02白丝porn| 国产精品久久久一区麻豆最新章节| 伦理电影国产精品| 欧美乱妇15p| 亚洲国产精品久久人人爱蜜臀| 成人sese在线| 日本一区二区三区在线观看| 国产在线不卡一卡二卡三卡四卡| 555夜色666亚洲国产免| 亚洲在线一区二区三区| 99在线热播精品免费| 久久久综合九色合综国产精品| 麻豆视频观看网址久久| 欧美日本精品一区二区三区| 亚洲曰韩产成在线| 91九色最新地址| 一区二区三区四区高清精品免费观看 | 亚洲综合免费观看高清完整版| www.爱久久.com| 国产精品三级视频| 国产成人免费视频网站| 国产午夜精品在线观看| 激情亚洲综合在线| 精品少妇一区二区三区免费观看 | 欧美一级日韩一级| 日韩高清不卡一区二区三区| 91精品国产综合久久久久久久久久| 亚洲资源在线观看| 欧美美女直播网站| 亚洲地区一二三色| 欧美精品在线一区二区三区| 日韩电影在线免费| 欧美tk丨vk视频| 国产精品综合av一区二区国产馆| 免费欧美高清视频| 久久不见久久见免费视频7| 欧美日韩国产在线观看| 午夜精品一区二区三区电影天堂| 欧美性猛交xxxx黑人交| 亚洲成人在线免费| 欧美一区国产二区| 国产综合色视频| 亚洲国产成人自拍| 91婷婷韩国欧美一区二区| 亚洲午夜一区二区| 日韩三级电影网址| 国产精品自在欧美一区| 自拍偷在线精品自拍偷无码专区| 色狠狠色狠狠综合| 日韩福利视频导航| 久久久综合网站| 日本韩国精品一区二区在线观看| 天天综合网 天天综合色| 精品美女被调教视频大全网站| 国产91精品一区二区麻豆网站 | 精品蜜桃在线看| 成人午夜激情影院| 夜色激情一区二区| 日韩三级在线观看| 国产精品一区二区不卡| 中文字幕一区在线观看视频|