Método IUIFramework::Initialize (uiribbon.h)
Conecta o aplicativo host à estrutura da Faixa de Opções do Windows.
Sintaxe
HRESULT Initialize(
[in] HWND frameWnd,
[in] IUIApplication *application
);
Parâmetros
[in] frameWnd
Digite: HWND
Manipule para a janela de nível superior que conterá a Faixa de Opções.
[in] application
Tipo: IUIApplication*
Ponteiro para a implementação IUIApplication do aplicativo host.
Retornar valor
Tipo: HRESULT
Retorna S_OK se tiver êxito; caso contrário, um valor de erro da lista a seguir.
Valor | Descrição |
---|---|
HRESULT_FROM_WIN32(ERROR_INVALID_WINDOW_HANDLE) | frameWnd é NULL, não aponta para uma janela existente ou não é uma janela de nível superior da área de trabalho.
Nota Esse erro também será retornado se frameWnd for uma janela filho (WS_CHILD), for declarada como uma janela de ferramentas (WS_EX_TOOLWINDOW) ou não tiver uma propriedade legenda (WS_CAPTION é obrigatório).
|
HRESULT_FROM_WIN32(ERROR_WINDOW_OF_OTHER_THREAD) | frameWnd não pertence ao thread de execução. |
E_POINTER | o aplicativo é NULL ou um ponteiro inválido. |
Comentários
Esse método deve ser chamado pelo aplicativo host para cada janela de nível superior que requer uma faixa de opções.
Esse método é usado para configurar os ganchos que permitem que a estrutura da Faixa de Opções invoque retornos de chamada no aplicativo host.
Para inicializar a Faixa de Opções com êxito, um arquivo de marcação da Faixa de Opções compilado deve estar disponível como um recurso e especificado em uma chamada subsequente para IUIFramework::LoadUI. Esse arquivo de marcação é um componente integral da estrutura; especifica os controles a serem usados e seu layout.
Se IUIFramework::Initialize retornar com êxito:
- Para eliminar inconsistência, redundância e incompatibilidade entre a Faixa de Opções e os modelos de comando tradicionais, a estrutura da Faixa de Opções remove a barra de menus padrão da janela de nível superior no aplicativo host.
- A estrutura remove referências ao estilo WS_EX_CLIENTEDGE. Nota O estilo WS_EX_CLIENTEDGE especifica que uma janela tem uma borda com uma borda submersa. Esse estilo interfere visualmente na integração da Faixa de Opções e do aplicativo host.
- A estrutura requer que o estilo de WS_SYSMENU seja habilitado. Se WS_SYSMENU não estiver habilitado, a estrutura não fornecerá funcionalidade alternativa e a renderização imprevisível da Faixa de Opções poderá resultar.Nota O estilo WS_SYSMENU especifica que a janela do aplicativo tem um menu do sistema na barra de título. Por associação, o estilo de WS_CAPTION também deve ser especificado (consulte ERROR_INVALID_WINDOW_HANDLE em Valores retornados acima).
Exemplos
O exemplo a seguir demonstra uma função básica de inicialização de estrutura.
//
// 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;
}
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 7 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 R2 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | uiribbon.h |
DLL | Mshtml.dll |