Corrigé un bug

Résolu
tibob51 Messages postés 268 Date d'inscription vendredi 30 avril 2004 Statut Membre Dernière intervention 13 mai 2013 - 6 mars 2006 à 22:33
yoyo269 Messages postés 1403 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 11 janvier 2009 - 7 mars 2006 à 18:23
Bonsoir tout le monde,
j'ai fait une appli qui se minimize dans
la barre de tache (celle où ya l'heure)
le seul problème c'est que mon explorer plante parfoi
et certaine icone ne se raffiche pas,dont mon application
quelqu'un aurait l une iddée pour que mon icone ne disparaisse pas!?
Merçi!!!!

7 réponses

cs_chris91 Messages postés 54 Date d'inscription jeudi 20 novembre 2003 Statut Membre Dernière intervention 4 avril 2007
7 mars 2006 à 15:02
yoyo269 Messages postés 1403 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 11 janvier 2009 2
7 mars 2006 à 08:59
Juste pour info ce que tu appelles la barre des tâches ça s'appelle en fait le systray.
Ceci étant dit je dois dire que j'ai déjà rencontré le même problème que toi mais je m'y suis jamais vraiment penché, donc si tu as reçu une solution je serai heureux de la connaître.

YOYO, @+.
YOYO
wxccxw Messages postés 755 Date d'inscription samedi 15 mai 2004 Statut Membre Dernière intervention 30 janvier 2011
7 mars 2006 à 09:03
surement une petite erreur :) enfin je veux dire dans ton code :)
yoyo269 Messages postés 1403 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 11 janvier 2009 2
7 mars 2006 à 09:09
Je sais pas si tibob51 a la même chose mais moi voici la classe qui gère l'icône et ses événements :

class SysTray
{
private:
HWND ObjethWnd;
char ToolTipText[64];
NOTIFYICONDATA PIcone;
int IDSysTray;
public:
SysTray();
~SysTray();


int AjouteIcone(const char * Chemin);
int RetireIcone();
int ModifieIcone(const char * Chemin);
public:
void Handle(HWND hWnd);
HWND Handle();


void Tip(const char * Tip);
char * Tip(); // ...


void ID(const int ID);
int ID();
};
#endif


/*************************************************************************************************/
/* Systray */
/*************************************************************************************************/


SysTray::SysTray(){} // contructeur ...
SysTray::~SysTray(){} // destructeur ...


/*Ajouter une icône dans le Systray*/
int SysTray::AjouteIcone(const char * Chemin)
{
bool ValRet = false;
HICON IconehWnd;
int LongueurTip = 0;


IconehWnd = (HICON)LoadImage(NULL, Chemin, IMAGE_ICON, LR_DEFAULTSIZE, LR_DEFAULTSIZE, LR_DEFAULTSIZE | LR_LOADFROMFILE);


PIcone.cbSize = sizeof(NOTIFYICONDATA);
PIcone.hWnd = ObjethWnd;
PIcone.uCallbackMessage = WM_SYSTRAYMSG;
PIcone.uID = IDSysTray;
PIcone.hIcon = (HICON)IconehWnd;
PIcone.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP;


LongueurTip = strlen(ToolTipText);
if (ToolTipText)
{
strncpy(PIcone.szTip, ToolTipText, LongueurTip);
PIcone.szTip[LongueurTip] = 0;
}
else PIcone.szTip[0] = 0;
ValRet = Shell_NotifyIcon(NIM_ADD, &PIcone);
if (IconehWnd) DestroyIcon(IconehWnd);
return ValRet;
}/*Enlever l'icône du Systray*/
int SysTray::RetireIcone()
{
bool ValRet = false;

ValRet = Shell_NotifyIcon(NIM_DELETE, &PIcone);
return ValRet;
}/*Modifier l'icône du Systray*/
int SysTray::ModifieIcone(const char * Chemin)
{
bool ValRet = false;
HICON IconehWnd;


IconehWnd = (HICON)LoadImage(NULL, Chemin, IMAGE_ICON, LR_DEFAULTSIZE, LR_DEFAULTSIZE, LR_DEFAULTSIZE | LR_LOADFROMFILE);
PIcone.hIcon = (HICON)IconehWnd;
ValRet = Shell_NotifyIcon(NIM_MODIFY, &PIcone);
if (IconehWnd)
{
DestroyIcon(IconehWnd);
}
return ValRet;
}/*Identificateur*/
void SysTray::ID(const int ID)
{
IDSysTray = ID;
}


int SysTray::ID()
{
return IDSysTray;
}/*Handle de la fenêtre qui va recevoir les messages*/
void SysTray::Handle(HWND hWnd)
{
ObjethWnd = hWnd;
}


HWND SysTray::Handle()
{
return ObjethWnd;
}/*ToolTipText(Bulle d'aide)*/
void SysTray::Tip(const char * Tip)
{
strncpy(ToolTipText, Tip, 63);
}
/*=====*/
char * SysTray::Tip()
{
return ToolTipText;
}

Merci d'avance pour ton aide.

YOYO, @+.
YOYO

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

Posez votre question
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
7 mars 2006 à 11:38
Je voulais applaudire [auteurdetail.aspx?ID=278478 wxccxw] pour son raisonement :)

Lol

if(!Meilleur("Joky")) return ERREUR;<
tibob51 Messages postés 268 Date d'inscription vendredi 30 avril 2004 Statut Membre Dernière intervention 13 mai 2013 2
7 mars 2006 à 15:41
Merçi pour la réponse chris 91.
J'ai regardé ton code (yoyo296) tout est ok apparement
yoyo269 Messages postés 1403 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 11 janvier 2009 2
7 mars 2006 à 18:23
Ok merci tibob51 !

YOYO, @+.
YOYO
Rejoignez-nous