Pergunta

Eu estive investigando o esforço necessário na obtenção de itens de menu exibido em negrito - sem ter que desenhar o menu mim mesmo - e estado item de menu MFS_DEFAULT descoberto depois de algum googling. A documentação MSDN menciona

MFS_DEFAULT
Especifica que o menu item é o padrão. Uma lata de menu conter apenas um item de menu padrão, que é exibido em negrito.

Eu experimentei e aparece que, contrariamente à documentação, parece que eu sou capaz de usar esse sinalizador para vários monitores (ou possivelmente todos!) Itens de menu em negrito. Alguém tem alguma experiência com este ou seja, se existem armadilhas em ter vários itens de menu em negrito? Ele se sente como um pouco de um truque para obter o que estou tentando alcançar e estou um pouco preocupado com efeitos colaterais desconhecidos (ou seja, ter itens de menu múltipla 'default' em um único menu).

EDIT: Gostaria também de acrescentar que reivindicações deste artigo que o MFS_DEFAULT bandeira não faz nada, mas exibindo o item de menu em negrito; ainda assim, eu estou um pouco cauteloso de ir contra a documentação 'oficial' ...

EDIT2: O objetivo deste era para informar ao usuário que o item de menu em questão (ou seja, aquele que está em negrito) também pode ser invocado clicando duas vezes o controle em questão (o item de menu faz parte do menu de contexto). Quando eu pensei sobre este problema eu não considerar o fato de que - geralmente - (! D'oh) apenas um comando pode ser associado com o evento duplo clique. Como tal eu aceitei resposta de zaphod (não responder a essa pergunta diretamente, mas ele conseguiu resolver o meu 'problema')

Foi útil?

Solução

O que você está tentando alcançar?

Eu suspeito que a maior objeção ao uso de MFS_DEFAULT para um fim diferente daquele para o qual foi concebido é que você está violando uma convenção Visual Microsoft está tentando a promulgar sobre o que itens de menu em negrito significam e como um usuário ( ou um programa de auxílio, como um leitor de tela) deve reagir ao encontrar um.

Se tudo que você está tentando fazer é chamar a atenção do usuário para alguns itens de menu que são de particular interesse - bem, isso parece um pouco estranho, mas também parece bastante inocente, e eu ficaria surpreso se que lhe causou enormes problemas no caminho. Qualquer coisa é possível, é claro! Ainda assim, eu me pergunto sobre o que exatamente você estava fazendo.

Se você está tentando expor parte do estado do seu programa, negrito e itens de menu unbolding -. Que parece um pouco inesperado para mim, mas eu odiaria passar o julgamento antes de ouvir as especificidades

Se você tem algum outro objetivo em mente - como talvez você acha que a fonte padrão para menus é feio e você gosta mais quando tudo está em negrito - então o método que você descobriu pode ser conveniente, mas também pode ser a melhor maneira de obter exatamente o que você quer, o que poderíamos discutir com mais detalhes (talvez em uma questão separada) se você estivesse disposto. Eu duvido que este é o caso, mas quem sabe?

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