IUIFramework::LoadUI 方法 (uiribbon.h)

加载 Windows 功能区框架 UI 资源或已编译标记文件。

语法

HRESULT LoadUI(
  [in] HINSTANCE instance,
  [in] LPCWSTR   resourceName
);

参数

[in] instance

类型: HINSTANCE

功能区应用程序实例的句柄。

[in] resourceName

类型: LPCWSTR

包含已编译的二进制标记的资源的名称。

注意 若要成功初始化功能区,必须提供已编译的功能区标记文件作为资源。 此标记文件是功能区框架的组成部分;它指定要使用的控件及其布局。
 

返回值

类型: HRESULT

如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

注解

初始化时应调用 IUIFramework::LoadUI。 在应用程序的生命周期内,可以多次调用此方法,例如,若要显示或隐藏功能区,前提是在两者之间调用 IUIFramework::D estroy

在执行 IUIFramework::LoadUI 期间调用 OnCreateUICommandOnViewChanged

示例

以下示例演示了一个基本框架初始化函数。

//
//  FUNCTION:    InitializeFramework(HWND)
//
//  PURPOSE:    Initialize the Ribbon framework and bind a Ribbon to the application.
//
//  PARAMETERS:    
//                hWnd - Handle to the Ribbon host application window. 
//
//  COMMENTS:
//
//    In order to get a Ribbon to display, the Ribbon framework must be initialized. 
//    This involves three important steps:
//      1) Instantiate the Ribbon framework object (CLSID_UIRibbonFramework).
//      2) Pass the host HWND and IUIApplication object to the framework.
//      3) Load the binary markup compiled by the UI Command Compiler (UICC.exe).
//
//
bool InitializeFramework(HWND hWnd)
{
    // Instantiate the Ribbon framework object.
    HRESULT hr = CoCreateInstance(
        CLSID_UIRibbonFramework, 
        NULL, 
        CLSCTX_INPROC_SERVER, 
        IID_PPV_ARGS(&g_pFramework));
    if (!SUCCEEDED(hr))
    {
        return false;
    }    

    // Create the application object (IUIApplication) and call the 
    // framework Initialize method, passing the application object and the 
    // host HWND that the Ribbon will attach itself to.
    CComObject<CApplication> *pApplication = NULL;
    CComObject<CApplication>::CreateInstance(&pApplication);
    hr = pApplication->QueryInterface(&g_pApplication);
    if (!SUCCEEDED(hr))
    {
        return false;
    } 

    hr = g_pFramework->Initialize(hWnd, g_pApplication);
    if (!SUCCEEDED(hr))
    {
        return false;
    }

    // Load the binary markup.  
    // Initiate callbacks to the IUIApplication object that was 
    // provided to the framework earlier and bind command handler(s) 
    // to individual commands.
    hr = g_pFramework->LoadUI(GetModuleHandle(NULL), L"APPLICATION_RIBBON");
    if (!SUCCEEDED(hr))
    {
        return false;
    }
    return true;
}

要求

要求
最低受支持的客户端 Windows 7 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
目标平台 Windows
标头 uiribbon.h
DLL Mshtml.dll

另请参阅

编译功能区标记

IUIFramework

IUIFramework::Initialize

标记元素

Windows 功能区框架示例