zoukankan      html  css  js  c++  java
  • MPF源码分析之资源文件加载

        本文将分析MPF客户端框架中资源文件相关的源代码,以github包中提供的qq界面demo作为

    起点,一步一步分析程序的运行原理;

    主程序很简单,代码如下:

    int APIENTRY _tWinMain(HINSTANCE hInstance,
    HINSTANCE hPrevInstance,
    LPTSTR lpCmdLine,
    int nCmdShow)
    {
    suic::InitUIWgxs(true);
    suic::InitUILogLevel(suic::LogLevel::Trace);

    suic::BuildFactory::Ins()->Add(ChatTextBox::RTTIType());

    suic::WindowPtr wnd(new MainWindow());

    try
    {
    // 加载资源文件
    suic::ThemeOp::SetSystemTheme("default.sres", "wr");
    suic::String strApp = _T("QQ/Layout/Application.xml");

    // 载入布局资源并运行系统
    suic::Application::RunApp(wnd.get(), strApp.c_str());
    }
    catch(suic::Exception& e)
    {
    suic::String err = e.GetErrorMsg();
    }

    wnd = NULL;

    suic::ExitUIWgx();

    return 0;
    }

    先看框架的初始化函数suic::InitUIWgxs(true),函数实现代码如下:

    SUIWGX_API bool __stdcall InitUIWgxs(bool initWgx)
    {
    if (!s_g_init)
    {
    suic::BuildFactory::Ins()->RegisterAddType(new WgxAddType());
    suic::InitUICore();
    ::OleInitialize(NULL);
    //suic::BuildFactory::Ins()->Add();
    suic::InfoBox::StaticInit();
    if (initWgx)
    {
    InitUIControls();
    }
    s_g_init = true;
    }

    return true;
    }

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    Map
    input输入框文字提示IE兼容
    Linux下实现获取远程机器文件
    ssl_error_rx_record_too_long
    Linux下访问网站
    Linux安装Jdk1.7
    bootstrap左右圆角按钮-适配手机页面
    jQuery使用load方法加载其他文档内容
    Js操作DOM小练习_01
    BootstrapValidator验证表单用法
  • 原文地址:https://www.cnblogs.com/skiing886/p/8003875.html
Copyright © 2011-2022 走看看