2009-07-13 7 views
0

Nous avons une interface graphique assez complexe, donc lorsque certaines fenêtres sont redimensionnées, Redraw() est défini sur false jusqu'à ce que l'opération soit terminée. Le problème avec ceci est que si le système d'exploitation "Afficher le contenu de la fenêtre en faisant glisser" est coché, en diminuant la taille de la fenêtre, les fenêtres derrière elle ne sont pas repeintes. Cela signifie que je dois forcer le repeindre moi-même afin que les restes de la fenêtre redimensionnée soient supprimés. Je n'ai aucun problème pour obtenir les dimensions de la région qui a été découverte. Ce que je cherche est la meilleure façon de faire repeindre toutes les fenêtres de cette région.Mise à jour de la région derrière une fenêtre redimensionnée

N'étant pas beaucoup un programmeur de GUI, je peux traverser la région non couverte et énumérer les fenêtres dedans. Ensuite, je peux demander à chacun d'entre eux de repeindre son rôle. Mais je suis tout à fait certain qu'il doit y avoir une meilleure façon de le faire ...

Il est à noter que l'application est écrite dans PowerBuilder. Cela signifie que je peux appeler n'importe quelle fonction Win32 que je voudrais, mais avoir un contrôle limité sur le comportement de l'interface graphique et la gestion des messages. S'il y a une meilleure façon d'empêcher le redimensionnement du contenu de la fenêtre d'être visible, ou s'il y a un moyen de nettoyer une fenêtre non redessinée après elle-même, j'aimerais l'entendre (juste les limitations ci-dessus).

Répondre

0

Je suis curieux de savoir dans quelle version de PowerBuilder vous travaillez? Je redimensionne tout le temps et ne rencontre jamais de problèmes comme vous le décrivez. Vous pouvez peut-être expliquer plus en détail pourquoi vous devez définir vos analyses à false dans l'environnement PowerBuilder.

J'espère que je peux vous aider.

Questions connexes