[C++, MFC] (haaa, enfin de retour au C++) pb pour activer une fenêtre

pb pour activer une fenêtre [C++, MFC] (haaa, enfin de retour au C++) - Programmation

Marsh Posté le 31-07-2001 à 11:34:00    

Voila, en fait je voudrai pouvoir repérer, dans une frame qui appartient pas à mon appli, le bouton qui à le focus (bouton par défaut).
Pour cela, il faut que je donne à cette Frame le même statut que si qqn l'avait rendue active, et j'y arrive pas !
g le handle de cette fenêtre, g tout tenté: le SetActiveWindow, le ShowWindow(SW_SHOW), le SetFocus()...
ça va pas...
qqn à une idée !?

Reply

Marsh Posté le 31-07-2001 à 11:34:00   

Reply

Marsh Posté le 31-07-2001 à 12:30:39    

Tu recupéres comment le handle de fenetre ?

Reply

Marsh Posté le 31-07-2001 à 12:56:14    

Avant toute chose, faut peut-être (?) désactiver la feuille courante (qui risque peut-être d'entrer en conflit de "qui a le focus" )
 
    // Désactive la feuille "mère"
    EnableWindow(hdlg, FALSE);
 
    fonction ad-hoc(hWndFeuilleEtrangère);  
 
puis
    // revalide la feuille "mère"
    EnableWindow(hdlg, TRUE);
 
D'après mon expérience, SetFocus() ne fait que faire que les touches frappées seront dirigées vers cette feuille, sans l'activer visiblement.
 
Dans ce contexte, si le handle de la feuille est bien le bon, essayer ShowWindow();
 
Un SendMessage(hWndFeuilleEtrangère, WM_QUIT, 0, 0L); permettrait (peut-être, jamais essayé sur une appli étrangère) de faire fermer cette fenêtre (:lol:) pour tester.

Reply

Marsh Posté le 31-07-2001 à 15:13:10    

essaye d'envoyer un message comme WM_ACTIVATE ... au pire un WM_LBUTTONDOWN .

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed