Pergunta

Estou tentando encontrar uma maneira simples de alterar a cor do texto e do plano de fundo no listview e treeview controles em WTL ou código Win32 simples.

Eu realmente não quero implementar o desenho completo do proprietário para esses controles, basta alterar as cores usadas.

Quero ter certeza de que as imagens ainda estão desenhadas com a transparência adequada.

Alguma sugestão?

Foi útil?

Outras dicas

Existem também métodos apropriados de CListViewCtrl e CTreeViewCtrl classes de wrapper:

  • ObterBkColor
  • DefinirBkColor

Você também pode dar uma olhada no CCustomDraw::OnItemPrePaint do WTL (se você precisar controlar o desenho de itens individuais)

Um bom artigo que descreve esse processo é aqui

Já faz um tempo que não uso a API win32 diretamente, mas acredito que se você manipular a mensagem WM_ERASEBACKGROUND para seu controle, poderá usar FillRect() em seu manipulador para pintar o fundo usando a cor que desejar.

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