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
Avez vous une idée ?
Cela fait plusieurs jours que je cherche dans google sans succès.
Merci à vous !
EDIT:
J'ai trouvé, il y a moyen d'utiliser les fonctions:
GetWindowRect
Que j'utilise de la sorte :
De plus il peut être utile de récupéré tout les composants d'une fenêtre:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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);
et les traiter un par un:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 HWND hWin=::GetForegroundWindow(); EnumChildWindows(hWin,EnumChildProc,NULL);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 }
Partager