Erreur sur WindowFromPoint

djtef Messages postés 16 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 5 juillet 2007 - 7 févr. 2006 à 22:39
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 - 9 févr. 2006 à 17:25
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

wxccxw Messages postés 755 Date d'inscription samedi 15 mai 2004 Statut Membre Dernière intervention 30 janvier 2011
7 févr. 2006 à 23:34
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
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
8 févr. 2006 à 08:57
Pix = GetPixel(GetDC(hand), x, y);
0
wxccxw Messages postés 755 Date d'inscription samedi 15 mai 2004 Statut Membre Dernière intervention 30 janvier 2011
8 févr. 2006 à 11:36
YMCA :)
la reponse claire et net :)
0
djtef Messages postés 16 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 5 juillet 2007
8 févr. 2006 à 21:04
ç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);

}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
9 févr. 2006 à 17:25
j'ai jamais dit de changer hand de HWND en HDC.
0
Rejoignez-nous