Pergunta

Estou usando o Visual Studio 6.0 (VC ++ com MFC) na plataforma Windows XP. Eu estou tentando criar uma caixa de grupo com o título da caixa de grupo como uma caixa de seleção. Minha intenção é esta: Se a caixa de seleção estiver ativada, os controles dentro da caixa de grupo deve ser habilitado; ou então desativado.

Isto é possível realizar? Se sim, por favor me dar algumas direções.

Graças.

Foi útil?

Solução

Existem algumas coisas que você pode tentar, dependendo de como verdade que você quer ficar com sua idéia e quanto trabalho você está preparado para colocar no esforço:

método simples

Use uma caixa de grupo normal, e depois dentro deste make o primeiro item é a caixa de seleção. Isto é simples de realizar, mas você perde a meta de ter a caixa de seleção como o título.

Funky do método de desenho 1

Use uma caixa de grupo normal, em seguida, no espaço sobre o lugar onde você sabe que o título é ir, coloque o seu caixa. Você terá que realizar algum cálculo complicado para obtê-lo para caber no bem e desenhar bem, sem cintilação.

Funky do método de desenho 2

Use algum tipo de superclasse ou subclasse / subclasse na caixa do grupo. Você pode substituir o manipulador WM_PAINT para desenhar apenas a moldura para a caixa de grupo. Coloque uma caixa de seleção normal no lugar onde você sabe que o título é ir. Isso deve funcionar melhor, porque você terá mais controle sobre o desenho, mas é provável que seja complicado de acertar. Na minha experiência, subclassificação é menor risco de implementar do que superclassing.

Outras dicas

Você está usando o editor de diálogo? Se assim for, colocar para baixo caixa de grupo. Em seguida, em cima dela, coloque uma caixa de seleção sobre a linha da caixa de grupo. Editar o recurso para definir a ordem Z, ou fazê-lo no código. Você quer que a caixa de seleção para estar no topo da caixa de grupo. Adicionar um manipulador para a caixa de seleção e ativar / desativar os controles dependendo do estado caixa de seleção.

Eu escrevi um chamado CGroupCheck alguns anos atrás e está disponível a partir de CodeProject: http: //www.codeproject.com/KB/buttons/groupcheck123.aspx

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top