Classe CBitmapButton
Cria controles botão de pressão rotulados com imagens de bitmap em vez de texto.
class CBitmapButton : public CButton
Comentários
CBitmapButton objetos contém até quatro bitmaps, que contêm imagens para os diferentes estados que pode assumir um botão: backup (ou normal), para baixo (ou selecionada), focalizado e desabilitado.Somente o primeiro bitmap é obrigatório; os outros são opcionais.
Imagens de botão de bitmap incluem a borda ao redor da imagem, bem sistema autônomo a imagem propriamente dita.A borda geralmente exerce na exibição de estado do botão.Por exemplo, o bitmap para o estado focalizado geralmente é como o mostrado para o estado ativo, mas com uma retângulo tracejado embutida de borda ou uma linha sólida espessa na borda.O bitmap para a desabilitado estado geralmente semelhante a de uma para o estado ativo, mas tem menor contraste (como uma seleção de menu esmaecido ou cinza).
Esses bitmaps podem ser de qualquer dimensionar, mas todas são tratadas sistema autônomo se fossem o mesmo dimensionar que o bitmap para o estado ativo.
Vários aplicativos exigem diferentes combinações de imagens de bitmap:
Para cima |
Abaixo |
Com foco |
Disabled |
Application |
---|---|---|---|---|
× |
|
|
|
Bitmap |
× |
× |
|
|
Botão sem WS_TABSTOP estilo |
× |
× |
× |
× |
Botão de caixa de diálogo com todos os estados |
× |
× |
× |
|
Botão de caixa de diálogo com WS_TABSTOP estilo |
Ao criar um controle de botão de bitmap, conjunto o BS_OWNERDRAWestilo de para especificar que o botão é desenhado pelo proprietário.Isso faz com que o Windows enviar o WM_MEASUREITEM e WM_DRAWITEM mensagens para o botão; a estrutura lida com essas mensagens e gerencia a aparência do botão para você.
Para criar um controle de botão de bitmap na área de cliente da janela
criar um a quatro imagens do botão de bitmap.
Construir o CBitmapButton objeto.
telefonar the Criar função para criar o controle de botão do Windows e anexá-lo à CBitmapButton objeto.
telefonar the LoadBitmapsfunção de membro para carregar os recursos de bitmap depois que o botão de bitmap é construído.
Para incluir um controle de botão de bitmap em uma caixa de diálogo
criar um a quatro imagens do botão de bitmap.
Crie um modelo de caixa de diálogo com um botão proprietário-draw posicionado onde você deseja que o botão de bitmap.Não importa o dimensionar do botão no modelo.
conjunto a legenda do botão sistema autônomo um valor sistema autônomo"MYIMAGE"e conjunto sistema autônomo um símbolo do botão IDC_MYIMAGE.
Script de recurso do aplicativo, dar a cada uma das imagens criado para o botão de uma ID construída, acrescentando uma das cartas "U", "D," "F" ou "X" (para cima, para baixo, com foco e desabilitado) para a seqüência de caracteres usada para a legenda do botão na etapa 3.Para a legenda do botão"MYIMAGE"por exemplo, as identificações seria"MYIMAGEU," "MYIMAGED," "MYIMAGEF," and "MYIMAGEX." You deve especificar a ID de seus bitmaps dentro de aspas duplas.Caso contrário, o editor de recursos atribuirá um número inteiro para o recurso e MFC falhará ao carregar a imagem.
Na classe de caixa de diálogo do aplicativo (derivado de CDialog), adicione um CBitmapButton objeto membro.
No CDialog objeto OnInitDialog rotina, chame o CBitmapButton objeto AutoLoad função, usando sistema autônomo parâmetros o botão controle ID e o CDialog objeto Isso ponteiro.
Se você quiser controlar mensagens de notificação do Windows, sistema autônomo BN_CLICKED, enviado por um controle de botão de bitmap para seu pai (geralmente uma classe derivada de CDialog), adicionar o CDialog-derivada da função de membro de entrada e o manipulador de mensagens objeto um MAP da mensagem para cada mensagem. sistema autônomo notificações enviadas por um CBitmapButton objeto são sistema autônomo mesmas que aquelas enviadas por um CButton objeto.
A classe CToolBar adota uma abordagem diferente para os botões de bitmap.
Para obter mais informações sobre o CBitmapButton, consulteControles.
Requisitos
Cabeçalho: afxext.h
Consulte também
Tarefas
Exemplo CTRLTEST: Implementa Personalizar Controls