Pessoal, tô com problemas com o CheckListBox e não encontro solução na internet, é uma questão de lógica de programação, mas não encontro a solução.
Preciso fazer com que o CheckListBox funcione da seguinte forma: - Quando o usuário clicar em um dos itens, se este item estiver com a propriedade State = cbGrayed, assuma cbUnchecked; - Quando o usuário clicar em um dos itens, se este item estiver com a propriedade State = cbUnchecked, assuma cbGrayed (se ele estava cbGrayed), senão passe para a propriedade cbChecked; O caso é o seguinte: No OnShow do form eu vou verificar o Registry, se encontrar alguns valores eu marco o item encontrado como cbGrayed, senão deixo como cbUnchecked. O usuário seleciona o que deseja configurar, mas somente os que não estiverem já configurado no registry, ou seja, ele pode querer remover o item que esteja cbGrayed, basta dar um clique no item cbGrayed para ficar cbUnChecked, se desejar marcar um que não esteja cbGrayed ele fique cbChecked. Não sei se ficou claro. cbGrayed = Já se encontra no Registry; cbChecked = Ele quer colocar a configuração no Registry; cbUnchecked = Ele quer remover a configuração do Registry; Só que, se já está com cbGrayed ele pode apenas querer remover do Registry Pensei em fazer dois CheckListBox, um mostrando os encontrados no Registry e outro o que ele deseja instalar (aí eu removo a propriedade AllowGrayed do ObjectInspector), mas se tiver uma maneira de deixar apenas um seria mais cômodo. Grato pela ajuda.