Créer une CMainFrame qui ne prend pas le focus à l'ouverture [Résolu] - C++ - Programmation
Marsh Posté le 18-10-2005 à 16:14:28
MSDN: SetFocus()
Marsh Posté le 18-10-2005 à 16:16:59
C'est exactement l'inverse que je veux, je ne veux pas donner le focus à ma frame à sa création, mais le veux que la fenêtre qui possède le focus le garde lorsque ma frame est affichée.
Marsh Posté le 18-10-2005 à 16:18:48
Tu veux peut être dire qu'il faudrait que je récupère la fenêtre qui à la focus avant l'ouverture et que je la reforce apres l'ouverture ??
C'est un peu crade ça non ??
Marsh Posté le 18-10-2005 à 16:22:53
Cette solution (HWND hWnd = ::SetFocus(NULL) avant et ::SetFocus(hWnd) après) fonctionne mais je la trouve un peu bof, y'a pas un autre moyen ??
Marsh Posté le 18-10-2005 à 16:31:08
snipix a écrit : Tu veux peut être dire qu'il faudrait que je récupère la fenêtre qui à la focus avant l'ouverture et que je la reforce apres l'ouverture ?? |
exactement
snipix a écrit : |
si tu veux pas faire crade, faut pas bosser avec les MFC
sinon, tu peux envoyer un ShowWindow(SW_SHOWNOACTIVATE) à la création de ta CFrameWnd (et pas CMainFrame comme tu l'as dit, CMainFrame est le nom de l'objet de classe CFrameWnd), ça affice la Frame, mais sans l'activer
Marsh Posté le 18-10-2005 à 16:32:13
Effectivement, il s'agit d'un CFrameWnd, désolé, je vais essayer cela, merci !
Marsh Posté le 18-10-2005 à 18:14:36
Il y aurait pas un flag WS quelque chose à passer au constructeur de CFrameWnd pour éviter de lui donner le focus?
Marsh Posté le 18-10-2005 à 16:02:57
bonjour,
j'aimerais savoir comment faire pour créer une frame de type CMainFrame qui ne prend pas le focus à son ouverture/affichage. Actuellement, lorsque j'ouvre ma frame, elle chope le focus et si je suis entrain d'écrire dans une autre application elle prend la main.J'ai regardé les styles, mais il n'en existe pas qui permettent cela apparement.
Merci d'avance.
Message édité par snipix le 18-10-2005 à 16:37:30
---------------
La raison du plus fort est toujours la plus forte.... Parce que c'est comme ça NA !