Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
6119 connectés 

 


Dernière réponse
Sujet : [MFC] Fonction CALLBACK membre d'une classe...
antp

antsite a écrit a écrit :

 
 Comment récupérer le paramètres this invisible ?




 
bhen "this" justement :D


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
antp

antsite a écrit a écrit :

 
 Comment récupérer le paramètres this invisible ?




 
bhen "this" justement :D

antsite C'est bon, je me suis débrouillé pour passer en lParam le hwnd du controle qui m'intéressait, donc merci et a+  :hello:
antsite

antp a écrit a écrit :

ta "fonction" c'est pas une fonction, c'est une méthode : le premier paramètre (invisible) est le pointeur "this"
 
tu dois la déclarer hors de la classe
 




 
Comment alors accéder aux variables membres de la classe (de ma dialog) ? Comment récupérer le paramètres this invisible ?

antp ta "fonction" c'est pas une fonction, c'est une méthode : le premier paramètre (invisible) est le pointeur "this"
 
tu dois la déclarer hors de la classe
Harkonnen j'ai déja eu ce genre d'erreur, c clair !!! si j'avais pas ingurgité ces anti inflammatoires, j'arriverais à penser correctement :d (cf blabla@prog)
 
essaie de déclarer ta callback en static pour voir
antsite La première solution crée une quarantaine d'erreurs...
La 2ème ne change rien, toujours la même erreur !
 
Il faut ajouter WINAPI ou LRESULT aussi dans la définition ? J'ai fait les 2 mais c pareil de toute façon
Harkonnen déclare ta callback comme ceci plutot :
 
BOOL LRESULT CALLBACK EnumAllWindows(HWND hWnd, LPARAM lParam);  
 
à vérifier néanmoins, sinon :
 
BOOL CALLBACK WINAPI EnumAllWindows(HWND hWnd, LPARAM lParam);  
 
antsite Salut,
J'ai délcaré la fonction CALLBACK servant à EnumWindows dans la classe de ma Dialog:
 
public:
...
 void GetWnds(void);
 BOOL CALLBACK EnumAllWindows(HWND hWnd, LPARAM lParam);
...
 
et définie de la sorte :
 
BOOL CALLBACK CMaDialogDlg::EnumAllWindows(HWND hWnd, LPARAM lParam)
{
 return true;
}
 
void CMaDialogDlg::GetWnds()
{
 EnumWindows((WNDENUMPROC)EnumAllWindows,(LPARAM)Var);
}
 
et voila l'erreur :
 
'type cast' : cannot convert from '' to 'int (__stdcall *)(struct HWND__ *,long)'
 
Quelqu'un peut-il m'aider à éviter cette erreur ? merci
 ANT

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)