当前位置: 首页 > news >正文

做网站视频存储在哪里广西桂林学院

做网站视频存储在哪里,广西桂林学院,贵州城市建设网站,施工企业部门目标责任书C开发WPF#xff0c;Step by Step 示例代码 使用C来开发WPF#xff0c;主要是如何在MFC#xff08;Win32#xff09;的窗口中Host WPF的Page。下面我就做个详细的介绍. 一、创建工程, 由于MFC的Wizard会生成很多用不到的代码#xff0c;所以我准备从一个空的工程开始创建一…  C开发WPFStep by Step 示例代码 使用C来开发WPF主要是如何在MFCWin32的窗口中Host WPF的Page。下面我就做个详细的介绍. 一、创建工程, 由于MFC的Wizard会生成很多用不到的代码所以我准备从一个空的工程开始创建一个MFC的工程。 a)         打开VS2005菜单File-New-Projects…, 左面选择Visual C-Win32右面选择Win32 Console Application给工程起个名字CPlusPlus_WPF, Ok进入下一步。见Figure 1 Figure 1 Create Project 1 b)        工程基本配置在Application Setting中选择Console Application和MFC.。Finish进入下一步。见Figure 2 Figure 2 Application Setting c)        修改工程使工程变成MFC Windows程序。                                        i.              删除CPlusPlus_WPF.cpp和CPlusPlus_WPF.h文件 Figure 3 Remove no used files                                      ii.              添加CWinApp派生类, 在工程上点击鼠标右键AddClass… Figure 4 Add New Class Menu                      在弹出的对话框中左边选择MFC右面选择MFC Class点击Add进入下一步 Figure 5 Create New Class Dialog               在弹出的对话框中输入类名 CCPlusPlus_WPFApp, 基类选择CWinApp Figure 6 Add CWinApp Derived Class                                          i.              用同上的方法添加CWnd派生类Class name为CCPlusPlus_WPFMainWnd, Base class为CWnd。                                      ii.              修改工程属性。将属性中的System-SubSystem从Concole改成Windows见Figure 7      Figure 7 Change property 到这一步一个基本的MFC程序所需要的两个类CWinApp和CWnd派生类就添加完了。我们的程序可以顺利编译通过但是还不能运行请继续看下一步d). 为CCPlusPlus_WPFMainWnd添加代码     l         添加创建窗口函数函数如下 BOOL CCPlusPlus_WPFMainWnd::CreateMainWnd(const CRect rect, DWORD dwStyle, DWORD dwStyleEx){    WNDCLASS wndClass;    memset(wndClass, 0, sizeof(WNDCLASS));                                                wndClass.style  CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS;    wndClass.lpfnWndProc  ::DefWindowProc;     wndClass.hInstance  AfxGetInstanceHandle();    wndClass.hIcon  NULL;    wndClass.hCursor  ::LoadCursor(NULL, IDC_ARROW);    wndClass.hbrBackground  (HBRUSH)(COLOR_WINDOW);    wndClass.lpszMenuName  NULL;    wndClass.lpszClassName  _T(__CPlusPlus_WPF_MainWnd__);    if(!AfxRegisterClass(wndClass))    {        return FALSE;    }    return CWnd::CreateEx(dwStyleEx, wndClass.lpszClassName, _T(C  WPF), dwStyle, 0, 0, rect.Width(), rect.Height(), NULL, NULL);} l         继承CWnd类的PostNcDestroy函数这个函数是CWnd类中的虚函数是在窗口退出后最后一个被调用的函数我们在这个函数里还删除自己。 void CCPlusPlus_WPFMainWnd::PostNcDestroy(){    delete this;}               e)       为CCPlusPlus_WPFApp添加代码 l         把构造函数改由protect改为public l         定义theApp, 即CCPlusPlus_WPFAp theApp l         实现InitInstance()   BOOL CCPlusPlus_WPFApp::InitInstance(){    CWinApp::InitInstance();    CCPlusPlus_WPFMainWnd *pMainWnd  new CCPlusPlus_WPFMainWnd();    if (!pMainWnd-CreateMainWnd(CRect(0, 0, 800, 600), WS_OVERLAPPEDWINDOW, 0))        return FALSE;    m_pMainWnd  pMainWnd;    pMainWnd-CenterWindow();    pMainWnd-ShowWindow(SW_SHOW);    pMainWnd-UpdateWindow();    return TRUE;}         编译运行可以看到窗口了到这步位置一个基本的MFC程序就已经建立起来了大家可以对窗口添加想要的风格。这里就不做详细说明了。       二、              进一步修改工程使其支持WPF         1.         修改工程属性在工程属性的General的Common Language Runtime Support中选择/Clr, 这个选项可以让这个工程支持Common Language Runtime. 这样我们的工程里就可以写C/CLI的代码用来操作WPF了。 Figure 8 Support clr         2.         添加References在工程属性中的左面的树上选择Common Properties-References(C程序员好像机会很少用到)。 Figure 9 Add References           点击Add New Reference按钮弹出如下对话框                                          顺次添加如下.NET dlls. 到现在位置这个工程就已经完全支持WPF了                            3.         添加显示WPF的部分             a)         创建一个XAML文件我已经上传一个Clock.XAML,这段XAML在Windows SDK中也可以找到。             b)        动态读取XAML文件             c)        把WPF的Page Host到MFC的窗口中。完整代码如下      using namespace System; using namespace System::IO; using namespace System::Windows; using namespace System::Windows::Controls; using namespace System::Windows::Markup; using namespace System::Windows::Interop;void CCPlusPlus_WPFMainWnd::CreateWPFWnd(){    FileStream^ pStream  File::OpenRead(Clock.XAML);    if(pStream  nullptr)        return;    Page^ pMainPage  (Page^)XamlReader::Load(pStream);    pStream-Close();    CRect rcClient;    GetClientRect(rcClient);    Rect^ rect  gcnew Rect(0, 0, rcClient.Width(), rcClient.Height());    HwndSourceParameters^ sourceParams  gcnew HwndSourceParameters(gcnew String(WPFWnd));    sourceParams-PositionX  Int32(rect-X);    sourceParams-PositionY  Int32(rect-Y);    sourceParams-Height  Int32(rect-Height);    sourceParams-Width  Int32(rect-Width);    sourceParams-ParentWindow  System::IntPtr(m_hWnd);    sourceParams-WindowStyle  WS_VISIBLE|WS_CHILD|WS_CLIPCHILDREN;    HwndSource^ source  gcnew HwndSource(*sourceParams);    if(source  nullptr)        return;    source-RootVisual  pMainPage;}            d)        在CCPlusPlus_WPFMainWnd::OnCreate中调用上面的函数。              e)         编译运行一切Ok了。 当然这只是基本的步骤在这个基础上就可以利用C和WPF来开发一个完整的软件了 转载于:https://www.cnblogs.com/sun9411323/archive/2007/12/04/981600.html
http://www.huolong8.cn/news/142262/

相关文章:

  • 郑州网站推广怎么做电商网站开发需求文档
  • 建个网站做外贸微积壹佰 网站建设
  • 佛山市专业的网站设计灵犀科技 高端网站建设背景图
  • wp如何做引擎网站怎么重新装wordpress
  • 长沙专业的网站建设企业石家庄做家教网站
  • 公司网站的seo怎么做厦门掘金网站建设
  • 如何做企业网站方法网站交互主要做什么的
  • 台州北京网站建设响应式网站定制开发
  • 专业制作网站用哪些软件广东网站建设开发
  • 基于C 的网站开发源码网站发布方式 提高
  • 电商网站开发方案模板做网站后台都要自己写吗
  • 个人网站数据库大小网站开发工程师面试问题
  • 网站开发过程代码问题 解决做网站协议怎么签
  • 纸做的花朵成品网站沈阳建设工程信息网下载
  • 江汉区建设局官方网站深圳网站关键词优化排名
  • 网站开发必学的技巧有哪些做MAD生肉网站
  • 做网站之前要先购买服务器吗云浮市哪有做网站的
  • 惠阳东莞网站建设公众号投放平台
  • 深圳做网站开发费用公司邮箱一般用哪个
  • php网站管理系统建设网站 如何给文件命名
  • 北京企业网站seo网络公司网站程序
  • 有做国际网站生意吗网站开发管理工具有哪些
  • qt做网站界面域名如何解析别人网站
  • 网站版面风格1m带宽网站支持多少人同时在线
  • 网站架构图用什么画温州网站建设公司有哪些
  • 乐山建设局网站软件开发要什么学历
  • 可以做网站的编程有什么软件天河网站建设策划
  • 企业门户网站建设费用网页微信怎么换行
  • 做网站怎么把导航每个页面都有黄骅港潮汐
  • 昆山网站设计公司html5移动网站制作教程