Compartilhar via


Creating a Command Bar

Windows Mobile Not SupportedWindows Embedded CE Supported

9/9/2008

Um barra de comandos é uma barra de ferramentas que podem incluir um barra de menus, bem como a Fechar (X) botão, a Ajuda (?) botão e o OK botão. The command bar usually is found on the title bar of Windows-based desktop applications. Um barra de comandos pode conter menus, caixas de combinação, botões, e Separadores. Um separador é um espaço em branco que você pode usar para dividir outros elementos em grupos ou a reserva espaço em um barra de comandos. Você cria um barra de comandos para organizar seu aplicativo menus e botões.

Você cria um barra de comandos usando o CommandBar_Create função. Windows Embedded CE registra esta classe quando ele carrega o DLL para a comum controles. Você pode usar o InitCommonControls função para garantir que este DLL é carregado. A seguinte ilustração mostra um barra de comandos Windows Embedded CE.

Para criar um barra de comandos

  1. Para criar o barra de comandos, chamado de CommandBar_Create função.

  2. Adicionar controles ao barra de comandos, chamado de CommandBar_InsertMenubar, CommandBar_AddBitmap, CommandBar_AddButtons, e CommandBar_InsertComboBox funções.

  3. Adicionar a Fechar e Ajuda botões, chamado de CommandBar_AddAdornments função e passando CMDBAR_HELP in a dwFlags parâmetro. Windows Embedded CE adiciona automaticamente a Fechar botão.

Além para criar e registrar as barras de comando, Windows Embedded CE oferece suporte várias funções que você pode usar para manipular um barra de comandos.

A seguinte tabela mostra como manipular um barra de comandos.

Para Chamar

Adicionar a Fechar (X), Ajuda (?), e OK Botões para o barra de comandos. No mínimo, cada barra de comandos deve ter um Fechar botão.

CommandBar_AddAdornments

Destrua o barra de comandos sem destruir a janela pai.

CommandBar_Destroy

Adicionar um único botão ou separador a um barra de comandos.

CommandBar_InsertButton

Adicionar vários botões ou separadores ao mesmo tempo para um barra de comandos. Quando você cria um separador, especificar TBSTYLE_SEP como o fsStyle membro das TBBUTTON estrutura que você transmitir in a lpButtons parâmetro.

CommandBar_AddButtons

Determine a parte utilizável do janela do aplicativo.

GetClientRect

Subtrair a altura da barra de comandos do tamanho do retângulo de cliente.

CommandBar_Height

Adicione as dicas de ferramentas que descrevem os botões na barra de comandos.

CommandBar_AddTooltips

Determine se um barra de comandos está visível.

CommandBar_IsVisible

Criar uma caixa de combinação e inseri-la em um barra de comandos. Essa função sempre cria uma caixa de combinação com os estilos estilo e WS_VISIBLE.

CommandBar_InsertComboBox

Inserção de barra de menus, identificado por um identificador recurso, em um barra de comandos.

CommandBar_InsertMenubar

Inserção de barra de menus, identificado por um identificador Nome ou menu recurso, em um barra de comandos.

CommandBar_InsertMenubarEx

Obter o identificador para um barra de menus em um barra de comandos.

CommandBar_GetMenu

Obter o identificador para um submenu na barra de menus.

GetSubMenu

Redesenhar o barra de comandos depois de modificar um barra de menus na barra de comandos.

CommandBar_DrawMenuBar

Alinhar o Fechar (X), Ajuda (?) e OK Botões de barra de comandos.

CommandBar_AlignAdornments

Cada elemento em um barra de comandos tem um índice com base zero pelos quais funções barra de comandos podem identificá-lo. O elemento da extrema esquerda tem um índice de zero; o elemento imediatamente para seu direito tem um índice de um e SO on. Quando você usar qualquer um do CommandBar_Insert funções, a caixa barra de menus, botão ou de combinação é inserida à esquerda do botão cujo índice você especificar in a iButton parâmetro.

Um barra de comandos armazena as informações que é necessário para desenhar o botão imagens em uma lista interna, que está vazio quando o barra de comandos é criado. Cada imagem tem um índice com base zero que você usar para associar a imagem com um botão. Você pode usar o CommandBar_AddBitmap função para adicionar uma matriz de imagens para o fim da lista. Essa função retorna o índice da primeira imagem nova que é adicionada. O sistema inclui um conjunto de botões predefinidos para o barra de comandos com cabeçalho arquivos que definem constante valores para os seus índices.

Observação

Não use 0xFFFFFFFF como a identificador do comando de um barra de comandos.Esse identificador é reservado para uso pela barra de comandos.

O seguinte exemplo de código mostra como criar um barra de comandos.

// Create a command bar. 
hwndCB = CommandBar_Create (hInst, hwnd, 1);

// Adds ToolTip strings to the command bar. 
CommandBar_AddToolTips (hwndCB, uNumSmallTips, szSmallTips);

// Adds 15 images to the list of button images that are available
// for use in the command bar.
CommandBar_AddBitmap (hwndCB, HINST_COMMCTRL, IDB_STD_SMALL_COLOR, 
                      15, 16, 16);

// Insert the menu bar into the command bar.
CommandBar_InsertMenubar (hwndCB, hInst, IDM_MAIN_MENU, 0);

// Add buttons in tbSTDButton to the command bar.
CommandBar_AddButtons (hwndCB, 
                       sizeof (tbSTDButton) / sizeof (TBBUTTON), 
                       tbSTDButton);

// Add Help, OK, and Close buttons to the command bar.
CommandBar_AddAdornments (hwndCB, WM_HELP | CMDBAR_OK, 0)

Barras de comandos não redimensionar próprios automaticamente quando você redimensionar uma janela principal. Para redimensionar um barra de comandos together with uma janela principal, aguarde até que a janela principal recebe uma mensagem WM_SIZE. Em seguida, envie uma mensagem TB_AUTOSIZE a barra de comandos e chamar o CommandBar_AlignAdornments função. Se você não fizer isso executar este procedimento, o OK, Cancelar, e AJUDA Botões de barra de comandos não permanecer liberado com o direito borda da janela quando o janela tamanho alterado. O seguinte exemplo de código mostra como redimensionar um barra de comandos together with uma janela principal.

case WM_SIZE:
   // Tell the command bar to resize itself to fill the top of the
    window.
   SendMessage(hwndCB, TB_AUTOSIZE, 0L, 0L);
   CommandBar_AlignAdornments(hwndCB);
   break;

See Also

Concepts

Working with Common Controls
Creating Controls

Other Resources