Compartilhar via


Working with Window Controls

Windows Mobile Not SupportedWindows Embedded CE Supported

9/9/2008

A controle janela é um janela filho predefinidas que permite que um usuário para fazer seleções, executar comandos e executar tarefas E/S. Você pode local um controle janela dentro uma caixa diálogo ou na área de cliente de uma janela normal. Controles que são colocados dentro de caixas diálogo fornecem um usuário o meio para tipo texto, selecionadas opções e direcionar uma caixa diálogo para completo sua ação. Controles que são colocados em janelas normais fornecem uma variedade de serviços, como a capacidade para escolher comandos, de rolagem, exibição e editar texto.

Embora você possa criar seus próprios controles janela, Windows Embedded CE tem várias classes janela predefinida que você pode usar para adicionar um padrão controle janela para seu aplicativo. A seguinte tabela mostra classes janela predefinidos que são com suporte por Windows Embedded CE.

Classe janela Descrição

BUTTON

Cria um controle botão, que notifica o janela pai quando um usuário seleciona o botão.

ComboBox

Cria uma caixa de combinação — uma combinação de uma caixa lista e um controle de edição — que permite que um usuário a selecionar e editar itens.

Editar

Cria um controle editar, que permite que um usuário exibição e editar texto.

ListBox

Cria uma caixa lista, que exibe uma lista na qual um usuário pode selecionar um ou mais itens.

SCROLLBAR

Cria um barra de rolagem controle, que permite que um usuário rolar horizontalmente e verticalmente em uma janela.

Static

Cria um controle estática, que geralmente atua como um rotular para outro controle; controles estáticos podem exibir tanto texto e imagens, como ícones.

Como janela controles são janelas filho, você pode criar um controle janela por chamado de CreateWindowEx função. Isso cria um único controle em uma janela normal. Para criar um controle em um caixa de diálogo, use o modelo para um caixa de diálogo contido no seu aplicativo arquivo de recurso. Usando um arquivo recurso, você pode criar múltiplo controles no mesmo tempo. Para obter mais informações sobre recursos e arquivos recurso, consulte Usando recursos.

A maioria dos compiladores são agrupadas com ferramentas automatizadas, conhecidas como recurso editores, para criar recursos. Usar um editor recurso é provavelmente a maneira mais precisa e eficiente para adicionar um controle para uma caixa diálogo. No entanto, como recurso editores variam em função, fornecendo instrução no uso de um editor recurso está fora de escopo desse texto.

Para usar um controle janela, você deve incluir a Windows.h ou arquivo de cabeçalho o WinUser.h no seu aplicativo. O arquivo Windows.h inclui o arquivo WinUser.h.

Para criar um controle janela em uma janela normal

  1. Defina um identificador para o controle no arquivo de cabeçalho aplicativo.

    A identificador controle é um valor que identifica com exclusividade o controle que envia uma mensagem. Windows Embedded CE, controle identificadores são válido somente para janelas filho.

  2. Chamar o CreateWindowEx função e especificar o seguinte parâmetros.

    Parâmetro Descrição Uso

    DWORD dwExStyle

    Estilo janela estendido

    Especifica um estendido estilo janela.

    LPCTSTR Boolean

    Nome de classe

    Especifica uma classe janela predefinida. De exemplo, para criar um botão enviar, especificar Button.

    LPCTSTR lpWindowName

    Janela texto

    Especifica o texto que você desejar apareça no controle.

    DWORD dwStyle

    Estilo janela

    Especifica um estilo controle. Cada classe de janela predefinida tem um correspondente conjunto de estilos controle que permite que um aplicativo para variar a aparência e comportamento dos controles que o aplicativo cria. Para exemplo, a classe janela Button suporta estilos para criar um enviar botão, botão de opção, caixa de seleção ou GRUPO caixa.

    Int x

    x-coordenar

    Especifica o x-coordenar da upper-left corner do controle, relativo para o upper-left corner da área cliente da janela pai.

    Int y

    y-coordenar

    Especifica a y-coordenar da upper-left corner do controle, relativo para o upper-left corner da área cliente da janela pai.

    Int nWidth

    Largura

    Especifica a largura controle.

    Int nHeight

    Altura

    Especifica a altura controle.

    HWND hWndParent

    Janela pai

    Especifica o identificador para o janela pai.

    HMENU hMenu

    Identificador da janela filho

    Especifica o identificador controle.

    HINSTANCE hInstance

    Identificador de instância

    Especifica o aplicativo ou módulo seja associado com a janela.

    LPVOID lpParam

    Parâmetros extras

    Especifica NULL quando você cria um controle.

Depois que você chamar CreateWindowEx, Windows Embedded CE trata todas as tarefas repainting. Ele também destrói todos os controles após terminação do aplicativo. O seguinte exemplo de código mostra como adicionar um controle para uma janela normal usando CreateWindowEx.

INITCOMMONCONTROLSEX  iccex;  // INITCOMMONCONTROLSEX structure

DWORD dwStyle = WS_VISIBLE | WS_CHILD | TVS_HASLINES | TVS_LINESATROOT |
                TVS_HASBUTTONS;

// Initialize the INITCOMMONCONTROLSEX structure.
iccex.dwSize = sizeof (INITCOMMONCONTROLSEX);
iccex.dwICC = ICC_TREEVIEW_CLASSES;

// Register tree-view control classes from the common control 
// DLL.
InitCommonControlsEx (&iccex);


// Create the tree-view control.
g_hwndTreeView = CreateWindowEx (
    0, 
    WC_TREEVIEW,          // Class name
    TEXT ("Tree View"),   // Window name
    dwStyle,              // Window style
    0,                    // x-coordinate of the upper-left corner
    0,                    // y-coordinate of the upper-left corner
    CW_USEDEFAULT,        // The width of the tree-view control window
    CW_USEDEFAULT,        // The height of the tree-view control window
    hwnd,                 // Window handle to the parent window
    (HMENU) IDC_TREEVIEW, // The tree-view control identifier
    g_hInst,              // The instance handle
    NULL);                // Specify NULL for this parameter when you 
                          // create a control.

Para criar um controle em uma caixa diálogo

  1. Defina um identificador para cada controle em um arquivo cabeçalho.

  2. Definir um caixa de diálogo em arquivo de recurso o aplicativo usando o Dialog declaração. A declaração define a posição e as dimensões da caixa de diálogo de Tela, assim como a estilo de caixa diálogo e tem a seguinte parâmetros.

    Parâmetro Descrição Uso

    nameID

    Nome caixa de diálogo

    Especifica um identificador exclusivo de caixa de diálogo.

    x

    x-coordenar

    Especifica o x-coordenar da upper-left corner de caixa de diálogo.

    y

    y-coordenar

    Especifica a y-coordenar da upper-left corner de caixa de diálogo.

    Largura

    Largura caixa de diálogo

    Especifica a largura da caixa de diálogo.

    Altura

    Altura caixa de diálogo

    Especifica a altura da caixa de diálogo.

    Opção-instruções

    Caixa de diálogo Opções

    Especifica um ou mais recursos de caixa de diálogo. Para exemplo, use o Caption declaração para adicionar um título à caixa de diálogo ou a DISCARDABLE declaração para remover a caixa diálogo da memória quando a caixa diálogo não estiver em uso. Para obter uma listagem de opção instruções, consulte o Dialog declaração no Windows Embedded CE API Reference.

    Controle-instruções

    Controles que são associado com a caixa diálogo

    Especifica um ou mais controles usando o apropriado CONTROLE declaração.

  3. Chamar um o DialogBox função ou a CreateDialog função e especificar o identificador ou nome do modelo caixa de diálogo e o endereço do procedimento caixa de diálogo.

    DialogBox Cria um restrito caixa diálogo e CreateDialog Cria uma sem janela restrita caixa diálogo. Para obter mais informações sobre como criar caixas diálogo, consulte Trabalhando com Windows e mensagens.

O seguinte exemplo de código mostra como criar um botão enviar e um controle estático em uma caixa diálogo.

#include <windows.h>

#define IDD_ABOUT               103
#define IDC_STATIC              -1

IDD_ABOUT DIALOG DISCARDABLE  0, 0, 132, 55
STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "About CePad"
FONT 8, "MS Sans Serif"
BEGIN
  DEFPUSHBUTTON   "OK",IDOK,39,34,50,14
  CTEXT           "Windows Embedded CE",IDC_STATIC,7,7,118,8
  CTEXT           "CePad Sample Application",IDC_STATIC,7,19,118,8
END

See Also

Other Resources

GWES Application Development