Bonjour à tous,
voici le soucis que je viens d'avoir en utilisant la fonction CWnd::SetParent()
J'ai deux fenêtres :
- La fenêtre A appelle la fenêtre B via un bouton
d'appel sur la fenêtre A.
- Chaque fenêtre contient des controles graphiques
(zone de saisie, libellé, groupe, etc.)
Ex du code :
CMyWindowA::DoDataExchange(...)
{
DDX_Control(pDX, IDF_WINA_1, m_winA_1);
DDX_Control(pDX, IDF_WINA_2, m_winA_2);
DDX_Control(pDX, IDF_WINA_3, m_winA_3);
...
}
CMyWindowB::DoDataExchange(...)
{
DDX_Control(pDX, IDF_WINB_1, m_winB_1);
DDX_Control(pDX, IDF_WINB_2, m_winB_2);
DDX_Control(pDX, IDF_WINB_3, m_winB_3);
...
}
Je voudrais déplacer, par programmation certains champs
de la fenêtre B vers la fenêtre A.
Méthode utilisée:
Lorsque j'ouvre ma fenêtre A, j'utilise la fonction SetParent(),
pour déplacer les champs de la fenêtre B vers la fenêtre A
Soit m_pWinA, le pointeur sur la fenêtre A
Soit m_pWinB, le pointeur sur la fenêtre B
j'ai donc le code suivant (grossièrement)
m_winB_1.SetParent(m_pWinA);
m_winB_2.SetParent(m_pWinA);
m_winB_3.SetParent(m_pWinA);
Ce code permet d'attribuer un nouveau parent aux controles, et de ce fait,
de les déplacer sur une autre fenêtre.
Ca marche super bien, MAIS voilà
Il semblerait que lorsque j'utilise cette fonction (SetParent()),
la tabulation soit inversée. (ce n'est pas une blague).
Est-ce que quelqu'un a déjà eu un cas pareil en utilisant cette fonction ??
Merci d'avance de vos réponse.
Partager