Como editar colunas in-loco com CListCtrl?
Pergunta
Eu quero ter CListCtrl.EditLabel () para qualquer coluna da lista. Como posso implementar esse recurso?
Solução
Esta é factível, mas exige um pouco de recheio ao redor com cliques de mouse e eventos de foco.
Em poucas palavras você prender o botão esquerdo do mouse pressionado mensagem e convertê-lo em uma célula bateu detalhes (isto é, uma linha e índice de coluna).
Com esses detalhes celulares que você não pode determinar o tamanho e localização da célula de exibição de lista e também o valor de texto que ele contém.
Agora crie um controle CEdit diretamente sobre essa célula usando tamanho e localização detalhes da etapa anterior e dar-lhe o valor de texto da célula.
O passo final é lidar com o foco e teclado introduzir eventos para o CEdit para que os detalhes do texto do CEdit pode ser colocado de volta para dentro da célula de exibição de lista.
Ele faz ter uma boa quantidade de codificação, mas quando bem feito ela não funciona bem como uma alternativa para um controle de grade.