Hospedagem controles do Windows Forms em janelas nativas, classe de janela = “Static”

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

  •  11-09-2019
  •  | 
  •  

Pergunta

Eu preciso para fornecer controle a um aplicativo nativo (Visual Studio) Windows Forms.
Então eu criar um controle e fornecer sua alça.

Então, quando eu verificar a janela nativa usando Spy ++, vejo que meu controle é envolto em 'controle' adicional com a classe da janela = "Static" eo título "Esta é uma estática!". Eu tenho vários problemas com ele:

  1. eventos de redimensionamento enviadas para meu controle por uma janela hospedagem tem que ser para o "Static" por isso também fica redimensionada (caso contrário meu controle se parcialmente escondido dentro tamanho da estática) enviou-re.
  2. A estática não tem WS_EX_CONTROLPARENT, o que provoca KB149501 a aparecer (em suma, toda aplicativo trava de foco perdidos).
  3. Se eu aplicar WS_EX_CONTROLPARENT, caixa de listagem dentro da estática pára redesenho.

Eu acho que eu tenho feito algo errado, mas eu não sei o que. Google não ajuda, uma vez estático é um C # palavra-chave tão bem como ela ocorre muitas vezes em WinForms resultados.

Foi útil?

Solução

Eu, principalmente, resolveu o problema redesenho usando DoubleBuffered = True, então provavelmente é isso.
Eu ainda acho que eu estou fazendo algo errado, mas pelo menos ele funciona agora.

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