2017-08-31 3 views
-3

Je travaille sur un DLL pour le fabricant de jeux et je rencontre des problèmes. Je semble que je ne peux pas changer les paramètres ppp sur une fenêtre déjà créée. Est-ce vrai ou existe-t-il une solution de contournement? J'ai utilisé SetProcessDpiAwareness et SetThreadDpiAwarenessContext. J'utilisais C# mais cela ne me dérange pas de passer en C++ si nécessaire.modifier la sensibilité d'une fenêtre ppe après la création

Merci d'avance.

Répondre

-1

Avant Windows 10, le DPI est large et constant. En commençant par Windows 10 Anniversary Update vous pouvez modifier dynamiquement un fils DPI, ceci est connu comme mixed mode DPI scaling mais changer ne fonctionne toujours vous laissez pas dynamiquement une fenêtre DPI:

  • Lorsqu'une fenêtre est créée, sa prise de conscience DPI est définie comme la Sensibilisation DPI du thread appelant à ce moment.
  • Lorsque la procédure de fenêtre d'une fenêtre est appelée, le thread est automatiquement basculé sur le contexte de détection DPI utilisé lors de la création de la fenêtre.

La seule solution que je peux penser est de changer les fils DPI et remplacer l'ancienne fenêtre avec de nouvelles instances de votre fenêtre.