Existe uma maneira simples de permitir a aba entre os controles não VCL e VCL em um formulário Delphi?

StackOverflow https://stackoverflow.com/questions/1986452

Pergunta

Eu tenho uma forma delphi com um monte de controles VCL, como tbutton e tcheckbox, e uma instância do Scintilla editor de texto. Quero poder entrar e sair do editor de texto, mas parece que as guias são tratadas pela biblioteca VCL e não pelo Windows.

Eu pisei no código e parece que as guias são tratadas pelos métodos SelectNext e FindNextControl da classe Twincontrol. Esses métodos funcionam em objetos Twincontrol, mas o editor de texto não desce do Twincontrol como Tbutton e TcheckBox.

Existe uma maneira simples de permitir a aba entre os controles não VCL e VCL?

Foi útil?

Solução

(fez disso uma resposta wiki, porque Rob está bastante correto em seus comentários acima, isso apenas regurgita)

O manuseio do teclado para caracteres / teclas especiais é tratado de uma maneira bastante especial pelo VCL, e a contornação / estendendo-a diretamente pela API WIN é certamente possível, mas não trivial.

Seria tão fácil e francamente mais flexível a longo prazo se você criar um invólucro de componente VCL personalizado em torno dos controles (use a fonte VCL como guia), realmente não é tão difícil (talvez um pouco tedioso), mas o pagamento- Off será tremendo em termos de manutenção e reutilização.

Editar:

E é claro que você pode simplesmente usar isso Wrapper Delphi grátis Para o editor de Scintilla.

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