WINCE6.0下构建SilverLight程序的基本框架

WINCE6.0下构建SilverLight程序的基本框架,第1张

概述//Main.cpp //Designed by  xqh //Date:2009--12--28 //#include <pwinuser.h> #include <XamlRuntime.h> #include <XRDelegate.h> #include <XRPtr.h> #include <Ehm.h> #include "MainDlg.h" //==================

//Main.cpp
//Designed by  xqh
//Date:2009--12--28


//#include <pwinuser.h>
#include <XamlRuntime.h>
#include <XRDelegate.h>
#include <XRPtr.h>
#include <Ehm.h>


#include "MainDlg.h"


//=================================================================================================================
IXRApplication* pApplication = NulL;

//###################################################################################################################
INT WINAPI WinMain(
    HINSTANCE hInstance,
    HINSTANCE hPrevInstance,
    LPWSTR lpCmdline,
    int nCmdshow
    )
{

   int    exitCode = -1;
   
   BOol   bRet;

  
   bRet= XamlRuntimeInitialize();

   GetXRApplicationInstance(&pApplication);

   CMainDlgBtnEventHandler  Handler;

   Handler.Init(pApplication,L"//Storage Card//XAMLPERF//Page_8.xaml");

   return exitCode;

}

//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

//MainDlg.h
//Designed by xqh
//Date:2009--12--28

#ifndef  _MainDlg_H_
#define  _MainDlg_H_


#include <XamlRuntime.h>
#include <XRDelegate.h>
#include <XRPtr.h>
#include <Ehm.h>

class CMainDlgBtnEventHandler
{
public:
CMainDlgBtnEventHandler( );
~CMainDlgBtnEventHandler( );
voID  Init(IXRApplication* pApplication,LPCTSTR strXAMLfilePath);

HRESulT BtnRadio_OnClick(IXRDependencyObject* source,XRMousebuttonEventArgs* args);
HRESulT BtnRadio_MouseEnter(IXRDependencyObject* source,XRMouseEventArgs* args);

HRESulT BtnDVD_OnClick(IXRDependencyObject* source,XRMousebuttonEventArgs* args);

HRESulT BtnCDC_OnClick(IXRDependencyObject* source,XRMousebuttonEventArgs* args);

HRESulT BtnSystem_OnClick(IXRDependencyObject* source,XRMousebuttonEventArgs* args);

HRESulT BtnClose_OnClick(IXRDependencyObject* source,XRMousebuttonEventArgs* args);

IXRApplication* pMainDlgApplication;

IXRVisualHost* pMainDlgVisualHost;

XRXamlSource  pMainDlgSourceXaml;

IXRFrameworkElementPtr pMainDlgroot;

};

#endif

 

//MainDlg.cpp
//Designed by xqh
//Date:2009--12--28


#include "MainDlg.h"
#include "RadioDlg.h"

CMainDlgBtnEventHandler::CMainDlgBtnEventHandler( )
{

 

}
CMainDlgBtnEventHandler::~CMainDlgBtnEventHandler( )
{

 

}

voID CMainDlgBtnEventHandler::Init(IXRApplication* pApplication,LPCTSTR strXAMLfilePath)
{

HRESulT hr;

pMainDlgApplication=pApplication;

pMainDlgSourceXaml.Setfile(strXAMLfilePath);

XRWindowCreateParams WindowParameters;
ZeroMemory(&WindowParameters,sizeof(WindowParameters));
WindowParameters.Style       = WS_POPUP;
WindowParameters.pTitle      = L"MainDlg";
WindowParameters.left        = 0;
WindowParameters.top         = 0;


pMainDlgApplication->CreateHostFromXaml(&pMainDlgSourceXaml,&WindowParameters,&pMainDlgVisualHost);


if(!pMainDlgVisualHost)
 RETAILMSG(1,(TEXT("++++the pMainDlgVisualHost is NulL!/r/n")));

 

if (Failed(hr=pMainDlgVisualHost->GetRootElement(&pMainDlgroot)))      
   return;

//----------------------------------------------------------------------------------------------------------

IXRbuttonBasePtr  btn; 
IXRDelegate<XRMousebuttonEventArgs>* clickdelegate;


if (Failed(hr=pMainDlgroot->Findname(TEXT("Radio"),&btn)))       
   return;

if (Failed(hr=CreateDelegate(this,&CMainDlgBtnEventHandler::BtnRadio_OnClick,&clickdelegate)))       
   return;

if (Failed(hr=btn->AddClickEventHandler(clickdelegate)))  //注册交互事件     
    return;

//---------------------------------------------------------
if (Failed(hr=pMainDlgroot->Findname(TEXT("DVD"),&CMainDlgBtnEventHandler::BtnDVD_OnClick,&clickdelegate)))       
   return;

if (Failed(hr=btn->AddClickEventHandler(clickdelegate)))  //注册交互事件     
    return;


//---------------------------------------------------------
if (Failed(hr=pMainDlgroot->Findname(TEXT("CDC"),&CMainDlgBtnEventHandler::BtnCDC_OnClick,&clickdelegate)))       
   return;

if (Failed(hr=btn->AddClickEventHandler(clickdelegate)))  //注册交互事件     
    return;


//---------------------------------------------------------
if (Failed(hr=pMainDlgroot->Findname(TEXT("System"),&CMainDlgBtnEventHandler::BtnSystem_OnClick,&clickdelegate)))       
   return;

if (Failed(hr=btn->AddClickEventHandler(clickdelegate)))  //注册交互事件     
    return;

 

//---------------------------------------------------------------
if (Failed(hr=pMainDlgroot->Findname(TEXT("Close"),&CMainDlgBtnEventHandler::BtnClose_OnClick,&clickdelegate)))       
   return;

if (Failed(hr=btn->AddClickEventHandler(clickdelegate)))  //注册交互事件     
    return;

 

pMainDlgVisualHost->StartDialog(NulL);//显示对话框


clickdelegate->Release();


}


HRESulT CMainDlgBtnEventHandler::BtnRadio_OnClick(IXRDependencyObject* source,XRMousebuttonEventArgs* args)   
{     
        MessageBox(NulL,TEXT("MainDlg_Radio!"),TEXT("Silverlight for windows Embedded test"),MB_OK);  

        RETAILMSG(1,(TEXT("++++MainDlgBtnEventHandler( )----the Radio button is OnClick!/r/n")));

         CRadioDlgBtnEventHandler   Handler;

   Handler.Init(pMainDlgApplication,L"//Storage Card//XAMLPERF//Page_8_Radio.xaml");

     return S_OK;   
}
HRESulT CMainDlgBtnEventHandler::BtnRadio_MouseEnter(IXRDependencyObject* source,XRMouseEventArgs* args)   
{     
       MessageBox(NulL,TEXT("MainDlg_Radio MouseEnter!"),(TEXT("++++MainDlgBtnEventHandler( )----the Radio button is MouseEnter!/r/n")));

     return S_OK;   

   
}
HRESulT CMainDlgBtnEventHandler::BtnDVD_OnClick(IXRDependencyObject* source,TEXT("MainDlg_DVD!"),(TEXT("++++MainDlgBtnEventHandler( )----the DVD button is OnClick!/r/n")));

     return S_OK;   
}

HRESulT CMainDlgBtnEventHandler::BtnCDC_OnClick(IXRDependencyObject* source,TEXT("MainDlg_CDC!"),(TEXT("++++MainDlgBtnEventHandler( )----the CDC button is OnClick!/r/n")));

     return S_OK;   
}


HRESulT CMainDlgBtnEventHandler::BtnSystem_OnClick(IXRDependencyObject* source,TEXT("MainDlg_System!"),(TEXT("++++MainDlgBtnEventHandler( )----the System button is OnClick!/r/n")));

     return S_OK;   
}
HRESulT CMainDlgBtnEventHandler::BtnClose_OnClick(IXRDependencyObject* source,TEXT("MainDlg_Close!"),(TEXT("++++MainDlgBtnEventHandler( )----the Close button is OnClick!/r/n")));

    pMainDlgVisualHost->EndDialog(0); //结束对话框
     return S_OK;      
}

//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
//RadioDlg.h
//Designed by xqh
//Date:2009--12--28

#ifndef  _RadioDlg_H_
#define  _RadioDlg_H_


#include <XamlRuntime.h>
#include <XRDelegate.h>
#include <XRPtr.h>
#include <Ehm.h>


class   CRadioDlgBtnEventHandler
{
public:
CRadioDlgBtnEventHandler( );
~CRadioDlgBtnEventHandler( );
voID  Init(IXRApplication* pApplication,LPCTSTR strXAMLfilePath);


HRESulT BtnSetting_OnClick(IXRDependencyObject* source,XRMousebuttonEventArgs* args); 

HRESulT BtnClose_OnClick(IXRDependencyObject* source,XRMousebuttonEventArgs* args);  


IXRApplication* pRadioDlgApplication;

IXRVisualHost* pRadioDlgVisualHost;

XRXamlSource  pRadioDlgSourceXaml;

IXRFrameworkElementPtr pRadioDlgroot;


};

#endif

 

//RadioDlg.cpp
//Designed by xqh
//Date:2009--12--28


#include "RadioDlg.h"


CRadioDlgBtnEventHandler::CRadioDlgBtnEventHandler( )
{


}
CRadioDlgBtnEventHandler::~CRadioDlgBtnEventHandler( )
{


}

voID  CRadioDlgBtnEventHandler::Init(IXRApplication* pApplication,LPCTSTR strXAMLfilePath)
{

HRESulT hr;

pRadioDlgApplication=pApplication;

pRadioDlgSourceXaml.Setfile(strXAMLfilePath);

XRWindowCreateParams WindowParameters;
ZeroMemory(&WindowParameters,sizeof(WindowParameters));
WindowParameters.Style       = WS_POPUP;
WindowParameters.pTitle      = L"RadioDlg";
WindowParameters.left        = 0;
WindowParameters.top         = 0;


pRadioDlgApplication->CreateHostFromXaml(&pRadioDlgSourceXaml,&pRadioDlgVisualHost);


if(!pRadioDlgVisualHost)
 RETAILMSG(1,(TEXT("++++the pRadioDlgVisualHost is NulL!/r/n")));

 

if (Failed(hr=pRadioDlgVisualHost->GetRootElement(&pRadioDlgroot)))      
   return;

//----------------------------------------------------------------------------------------------------------

IXRbuttonBasePtr  btn; 
IXRDelegate<XRMousebuttonEventArgs>* clickdelegate;


if (Failed(hr=pRadioDlgroot->Findname(TEXT("Setting"),&CRadioDlgBtnEventHandler::BtnSetting_OnClick,&clickdelegate)))       
   return;

if (Failed(hr=btn->AddClickEventHandler(clickdelegate)))  //注册交互事件     
    return;


//---------------------------------------------------------------
if (Failed(hr=pRadioDlgroot->Findname(TEXT("Close"),&CRadioDlgBtnEventHandler::BtnClose_OnClick,&clickdelegate)))       
   return;

if (Failed(hr=btn->AddClickEventHandler(clickdelegate)))  //注册交互事件     
    return;

 

pRadioDlgVisualHost->StartDialog(NulL);//显示对话框


clickdelegate->Release();


}

HRESulT CRadioDlgBtnEventHandler::BtnSetting_OnClick(IXRDependencyObject* source,XRMousebuttonEventArgs* args)
{

        MessageBox(NulL,TEXT("RadioDlg_Setting!"),(TEXT("++++RadioDlgBtnEventHandler( )----the Setting button is OnClick!/r/n")));

   return S_OK;  
}

HRESulT CRadioDlgBtnEventHandler::BtnClose_OnClick(IXRDependencyObject* source,XRMousebuttonEventArgs* args)
{


       MessageBox(NulL,TEXT("RadioDlg_Close!"),(TEXT("++++RadioDlgBtnEventHandler( )----the Close button is OnClick!/r/n")));


    pRadioDlgVisualHost->EndDialog(0);//结束对话框


    return S_OK;  

}
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

 1.编译一般要链接的库文件有

xamlruntime.lib   uuID.lib

 

2.编译报错的解决方法

//在XamlRuntime.h文件里面 #include <pwinuser.h>

总结

以上是内存溢出为你收集整理的WINCE6.0下构建SilverLight程序的基本框架全部内容,希望文章能够帮你解决WINCE6.0下构建SilverLight程序的基本框架所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1040714.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存