Erreur sur WindowFromPoint

Signaler
Messages postés
16
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
5 juillet 2007
-
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
-
Je cherche à récupérer les coordonnées et la couleur du pixel pointé par la souris, dans une simple console dos, sous Dev C++, mais j'ai le message d'erreur :

56 C:\Dev-Cpp\essai.cpp
cannot convert `HWND__*' to `HDC__*' for argument `1' to `


quand je fais ça :

int main (int argc, char *argv[])
{
// Déclarations locales
HWND hand;
POINT pt;
COLORREF Pix;
int R,G,B;
int y,x;

// Actions
do{
GetCursorPos(&pt);
hand = WindowFromPoint(pt); //<-------------------l'erreur est ici
x = pt.x;
y = pt.y;
Pix = GetPixel(hand, x, y);
R = GetRValue(Pix);//->valeur du rouge (0-255)
G = GetGValue(Pix);//->valeur du vert (0-255)
B = GetBValue(Pix);//->valeur du bleu (0-255)

cout << "x="<<x<<endl;
cout << "y="<<y<<endl;
cout << "R="<<R<<endl;
cout << "G="<<G<<endl;
cout << "B="<1);


// retour au sytème d'exploitattion
cout << endl;
system("pause");
return (0);
}

Pouvez vous résoudre mon problème ? merci.

5 réponses

Messages postés
755
Date d'inscription
samedi 15 mai 2004
Statut
Membre
Dernière intervention
30 janvier 2011

pas HWND Hand mais HDC Hand :p mauvais pointeur :)
c'est comme si tu faisai :
int i = char * g !
c'est imposible si la technique de HDC ne marche pas il faut faire une allocation de memoire
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
Pix = GetPixel(GetDC(hand), x, y);
Messages postés
755
Date d'inscription
samedi 15 mai 2004
Statut
Membre
Dernière intervention
30 janvier 2011

YMCA :)
la reponse claire et net :)
Messages postés
16
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
5 juillet 2007

ça me met toujours la même erreur :



cannot convert `HWND__*' to `HDC__*' in assignment

cannot convert `HDC__*' to `HWND__*' for argument `1' to `HDC__*





int main (int argc, char *argv[])

{

// Déclarations locales

HDC hand;

POINT pt;

COLORREF Pix;

int R,G,B;

int y,x;



// Actions

do{

GetCursorPos(&pt);

hand = WindowFromPoint(pt); //<--------------1ere erreur

x = pt.x;

y = pt.y;

Pix = GetPixel(GetDC(hand), x, y);//<-----------2e erreur

R = GetRValue(Pix);//->valeur du rouge (0-255)

G = GetGValue(Pix);//->valeur du vert (0-255)

B = GetBValue(Pix);//->valeur du bleu (0-255)



cout << "x="<<x<<endl;

cout << "y="<<y<<endl;

cout << "R="<<R<<endl;

cout << "G="<<G<<endl;

cout << "B="<1);





// retour au sytème d'exploitattion

cout << endl;

system("pause");

return (0);

}
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
j'ai jamais dit de changer hand de HWND en HDC.