Salut,
Je me pose quelques questions sur la maniere dont est geree la position et la taille d'une fenetre de dialogue non modale. Je cree une boite de dialogue non modale dans le constructeur de mon document de la facon suivante
m_pTestDlg=new CProgTestDialog; //Create a dialog variable ON THE HEAP
m_pTestDlg->Create(IDD_PROG_TEST,NULL);
Ce dialogue a donc comme parent la fenetre principale de mon application. Ensuite je l'affiche dans une autre fonction de mon document:
m_pTestDlg->ShowWindow(SW_SHOW);
OBSERVATION1: Lorsque mon dialogue s'affiche, il est dans le coin superieur gauche de ma fenetre principale, mais il empiete sur ma barre d'outils. Pourquoi?
OBSERVATION2: Si je bouge ma fenetre principale avant d'afficher mon dialogue, ce dernier s'affiche a la coordonnee (0,0) de l'ancienne position de la fenetre.
OBSERVATION 3:Si je rajoute une commande SetWindowPos() avant (ou apres) le ShowWindow,
m_pTestDlg->SetWindowPos(NULL,0,0,0,0,SWP_NOSIZE);
m_pTestDlg->ShowWindow(SW_SHOW);
le dialogue s'affiche cette fois dans le coin superieur gauche de mon ECRAN. Pourquoi les coordonnees ne sont pas relatives a la zone client de la fenetre principale?
QUESTION: Comment dois- je faire pour que mon dialogue s'affiche dans le coin superieur droit de la zone client de la fenetre principale, y reste quand celle-ci ce deplace et se redessine au besoin.? Quelles sont les commandes a utiliser pour ce genre de manipulation?
Merci d'avance