Est-il possible de rafraichir l'ensemble de l'écran? Si oui quelles fonctions sont disponibles?
merci
ludo
Est-il possible de rafraichir l'ensemble de l'écran? Si oui quelles fonctions sont disponibles?
merci
ludo
Salut Ludo : Astuce de la rubrique "Système D" :
Tu maximalizes une form sur tout l'écran, puis tu la restaure immédiatement à sa taille d'avant ... ce qui oblige Windows à rafraîchir l'écran même dans les parties de l'écran occupées par une appli externe.
Mon problème, plus précidemment, c'est que lorsque je rentre dans un composant appellé Monedit (dérivé du edit), avec l'évènement "OnEnter", un panel apparait avec la possibilité de lancer une application externe si je clic dessus. La ou je veux mofifier le fonctionnement c'est que quand je ferme cette application externe, je voudrais que le panel réapparaisse sur ce même composant. Ce n'est pas possible puisque l'évènement est "OnEnter", et il n'y a pas d'évènement "OnActivate" ou "OnFocused" sur les edit.
J'aimerais éviter de créer l'évènement si il y a une autre possibilité. C'est pour cela que je parlais de rafraichissement, mais ta solution ne marche pas...
j'espère avoir été clair :s (j'ai relu 3 fois)
ludo
Dans mon composant, je modifie la procedure "DoEnter" qui appelle l'évènement "OnEnter". Comme cela si l'utilisateur configure l'évènement "OnEnter" du composant qu'il place sur sa forme, mon code s'executera quand même.
Ma question est: existe-il une fonction semblable appellant l'évènement "OnClick"? Si oui, où trouve t-on ces infos de parentés?
Je n'ai trouvé que ça, et ça ne m'aidera pas:
merciDescription
DoClick est appelée automatiquement lorsque l'utilisateur clique sur un noeud d'arborescence.
Button indique les boutons de souris utilisés.
Anode indique le noeud sur lequel l'utilisateur a cliqué.
Pt indique les coordonnées du clic dans la zone de la fenêtre de la vue arborescente.
Telle qu'elle est implémentée dans TCustomTreeView,DoClick appelle le répartiteur d'événement OnItemClick.Les classes dérivées peuvent étendre ou redéfinir ce comportement.
ludo
Peut-être pourrait-on, dans l'événement "OnActivate" de la forme, tester :éviter de créer l'évènement si il y a une autre possibilité
- si l'appli externe n'existe plus,
- quel panneau/bouton a le focus dans la forme.
Un refresh de l'active window permet de faire un "onactivate" sur la form?
Sinon c'est vrai que l'idée est sympa, merci!
Mais je dois toucher un minimum voire pas du tout à l'application, il faudrait que je me contente de modifier les composants pour faire un travail propre...
merci!
ludo
Je suppose que tu as dis ceci à propos de :Ludo a écrit :
C'est pour cela que je parlais de rafraichissement, mais ta solution ne marche pas...
En ajoutant des Application.ProcessMessages; placés judicieusement dans la routine qui maximalise, restaure, et puis qui fait éventuellement d'autres actions cela rendrait la main à Windows au bon moment pour qu'il traite le rafraichissement. (sinon c'est ton application qui accapare la main et lorsque qu'elle la rend à Windows en l'état de la taille-d'avant Windows constate qu'il n'y a rien de changé donc rien à rafraichir).Tu maximalizes une form sur tout l'écran, puis tu la restaure immédiatement à sa taille-d'avant ... ce qui oblige Windows à rafraîchir l'écran même dans les parties de l'écran occupées par une appli externe.
Partager