//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程序的基本框架所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)