Hébergement des contrôles Windows Forms dans les fenêtres natives, classe de fenêtre = « statique »

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

  •  11-09-2019
  •  | 
  •  

Question

Je dois fournir un contrôle Windows Forms à une application native (Visual Studio).
Je crée donc un contrôle et fournir sa poignée.

Alors, quand je vérifie la fenêtre native en utilisant Spy ++, je vois que mon contrôle est enveloppé dans un « contrôle » supplémentaire avec classe de fenêtre = « statique » et le titre « Ceci est statique! ». J'ai plusieurs problèmes avec elle:

  1. Redimensionner les événements envoyés à mon contrôle par une fenêtre d'hébergement doivent être réexpédiés à la « statique » il obtient également redimensionnée (sinon mon contrôle se partiellement caché dans la taille de l'électricité statique).
  2. La statique ne pas WS_EX_CONTROLPARENT, ce qui provoque KB149501 apparaître (en bref, tout l'application se bloque sur le focus perdu).
  3. Si je demande WS_EX_CONTROLPARENT, listbox dans les arrêts statiques redessiner.

Je pense que je suis en train de faire quelque chose de mal, mais je ne suis pas sûr. Google ne permet pas, puisque statique est un mot-clé C # et il se produit assez souvent dans les résultats WinForms.

Était-ce utile?

La solution

Je résolu la plupart du temps le problème de redessiner en utilisant DoubleBuffered = True, donc sans doute ce qu'il est.
Je pense toujours que je fais quelque chose de mal, mais au moins il fonctionne maintenant.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top