[MFC] Centrer un CButton...

Centrer un CButton... [MFC] - API Win32 - Programmation

Marsh Posté le 30-10-2008 à 16:55:24    

Bonjour à tous,

 

Pour un projet de portage d'un player vidéo vers Windows XP, j'ai à refaire l'UI du player, en partant d'un projet de portage déjà entamé.
J'utilise pour ça l'API win32 pour dessiner mes panels, mes boutons, etc...
J'ai néanmoins un petit problème.
Initialement, j'avais un background vertical que j'ai décidé de passer en horizontal. Seulement voilà, dans mes panels, mes boutons se centrent toujours par rapport à l'ancien background et ne sont donc pas centrés horizontalement. Voici le code initial:

 

       

Code :
  1. CWnd *pWnd = this->GetParent(); //Récupère la Cwnd parent
  2. GetWindowRect(&buttonPosition); //Récupère les coordonnées du bouton dans la Cwnd parent => 455,215,655,247
  3. pWnd->ScreenToClient(buttonPosition); // Convertit les coordonnées ??? => 20,100,220,132 (left, top, right, bottom)
  4. buttonPosition.right = buttonPosition + image.GetWidth();
  5. buttonPosition.bottom = buttonPosition.top  + image.GetHeight();
  6. MoveWindow(buttonPosition); // Change la position du bouton
 

Si j'essaye ça, mes boutons se centrent mais horizontalement et verticalement (s'empilent quoi). Et je ne sais pas s'ils se centrent par rapport à l'écran ou à la fenêtre parent...

 

       

Code :
  1. CWnd *pWnd = this->GetParent(); //Récupère la Cwnd parent
  2. this.CenterWindow(pWnd ); // Centre
 

Ma question est donc "Comment centrer horizontalement un CButton"?

 

Merci d'avance  :)


Message édité par Joker28 le 30-10-2008 à 16:55:56
Reply

Marsh Posté le 30-10-2008 à 16:55:24   

Reply

Sujets relatifs:

Leave a Replay

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