Récupérer coordonnées d'un composant.
Bonjour,
Je cherche une façon de récupérer les coordonnées X,Y d'un composant (button,...).
Je débute en programmation MFC et Win32:arf:
Avez vous une idée ?
Cela fait plusieurs jours que je cherche dans google sans succès.
:cry:
Merci à vous !
EDIT:
J'ai trouvé, il y a moyen d'utiliser les fonctions:
GetWindowRect
Que j'utilise de la sorte :
Code:
1 2 3
| CButton *TmpBut = (CButton *)(GetDlgItem(IDC_BUTTON1));
TmpBut->GetWindowRect(&rect);
TRACE("OnBnClickedButton1:TmpBut->GetWindowRect - %d.%d~%d.%d \n",rect.top,rect.left,rect.bottom,rect.right); |
De plus il peut être utile de récupéré tout les composants d'une fenêtre:
Code:
1 2
| HWND hWin=::GetForegroundWindow();
EnumChildWindows(hWin,EnumChildProc,NULL); |
et les traiter un par un:
Code:
1 2 3 4 5 6 7 8 9
| BOOL CALLBACK EnumChildProc(HWND hwnd, LPARAM lParam) {
TRACE("hwnd_Child = %d Hex: %x \n", hwnd,hwnd);
HWND hWin=::GetForegroundWindow();
HWND hButton = GetDlgItem(hWin,IDC_BUTTON1);
.....
return TRUE; // must return TRUE; If return is FALSE it stops the recursion
} |