Permanence du curseur d'attente
Bonjour,
J'ai besoin d'activer un curseur d'attente pour une longue opération qui fait appel à plusieurs sous-fonctions à la fonction où est déclarée le curseur. Or, le curseur, déclaré localement, semble ne plus être actif dès l'instant où le code passe dans les sous-fonctions. Est-il possible de résoudre le problème et d'activer un curseur de façon permanente tant que la totalité des sous-fonctions n'est pas exécutée?
Bien à vous tous,
Hugues.
Permanence du curseur d'attente
Etant donné que ce sont les sous-fonctions appelées qui prennent plusieurs secondes d'exécution, j'ai mis un curseur d'attente dans ces sous-fonctions. Le curseur change alors d'aspect comme souhaité mais ne permet pas d'empêcher la sélection du menu principal, ce que je pensais que ferait le curseur d'attente.
Voici ce que j'ai alors fait pour résoudre le problème : au début de ma fonction principale qui lance l'exécution de toute la routine, qui se trouve dans la view, je bloque l'accès au frame en faisant:
Code:
1 2 3
|
CMainFrame *pptr = (CMainFrame*) GetParentFrame();
pptr->EnableWindow(FALSE); |
ce qui empêche l'accès au menu (et à la sélection du contenu de la grille qui se trouve dans ma vue, ce qui est aussi le but).
Bien sûr, lorsque ma fonction principale se termine, je libère le frame en faisant un pptr->EnablleWindow(TRUE);
Voilà. Si quelqu'un pense à une meilleure solution, les suggestions sont les bienvenues!
Bien à vous tous,
Hugues
Permanence du curseur d'attente
D'après mes premiers tests, SetCapture() and ReleaseCapture() fonctionnent très bien.... Merci à tous.... pour une question que j'avais déjà posée il y a quelques temps (sans l'avoir appronfondie) et dont Farscape se souvenait puisqu'il m'avait déjà donné la réponse....