oups, j'allait oublier...
Merci beaucoup à tt ceux qui m'ont aidé !
El_gringo
ça y est, après mangé je viens de tout comprendre, en fait c tout simple et c carrément utile cette classe !
El_gringo
non, g pas dit que j'bossais sur Windows, par contre, après g dis que j'avais pas le choix; si j'veux que mon appli puisse tourner sous windows, y faut que je la develeoppe sous windows, non !?
AMDFan
El_gringo a écrit a écrit :
Hé, ça te dirait pas de faire gaffe à ce que j'écrit !!?? :fou:
Mais où est ce que tu l'as écrit :??:
El_gringo
Amadeus a écrit a écrit :
Le handle est celui de la fénêtre principale de ton appli : 2 possibilités :
1) t'utilises les mfc et dans ce cas tu crée le timer lors de l'init de ton app (dans la fonction OnInitDialog si ton app est une boite de dialog) : uiTimer = SetTimer(0, 1000, (TIMERPROC)OnTimer); /*1000 pour 1sec*/ sachant que OnTimer est la fonct qui gère l'évènement WM_TIMER que tu crées avec le class wizard
2) t'utilises directement l'api et dans ce cas dans ton WM_CREATE ou WM_INITDIALOG tu crées ton timer :
uiTimer = SetTimer(hWnd, 0, 1000, (TIMERPROC)OnTimer);
tu définis ta fonct OnTimer comme par ex :
VOID CALLBACK OnTimer(HWND hWnd, UINT Message, UINT_PTR uiIdEvent, DWORD dwTime)
{
// là tu fais ton traitement :)
}
Merci beaucoup, quand je serai un grand programmeur connu dans le monde entier je parlerai de toi à Bill Gates si tu veux ! :D :D (oui j'y crois, et pourquoi qu'j'y croiyerai pas !?)
El_gringo
AMDFan a écrit a écrit :
Ah désolé, je savais qu'il y en avait encore.
Pour Windows, je n'ai pas de connaissance.
Hé, ça te dirait pas de faire gaffe à ce que j'écrit !!?? :fou:
Amadeus
Le handle est celui de la fénêtre principale de ton appli : 2 possibilités :
1) t'utilises les mfc et dans ce cas tu crée le timer lors de l'init de ton app (dans la fonction OnInitDialog si ton app est une boite de dialog) : uiTimer = SetTimer(0, 1000, (TIMERPROC)OnTimer); /*1000 pour 1sec*/ sachant que OnTimer est la fonct qui gère l'évènement WM_TIMER que tu crées avec le class wizard
2) t'utilises directement l'api et dans ce cas dans ton WM_CREATE ou WM_INITDIALOG tu crées ton timer :
uiTimer = SetTimer(hWnd, 0, 1000, (TIMERPROC)OnTimer);
tu définis ta fonct OnTimer comme par ex :
VOID CALLBACK OnTimer(HWND hWnd, UINT Message, UINT_PTR uiIdEvent, DWORD dwTime)
{
// là tu fais ton traitement :)
}
El_gringo a écrit a écrit :
...j'voudrai pas abuser, mais j'vois pas comment ça fonctionne, pourquoi il nécessite un handler vers une fenêtre (hWnd) en paramètre ce SetTimer !?
tu pourrais pas me mettre un exemple vite fait stp !? :hello:
El_gringo
AMDFan a écrit a écrit :
Ah désolé, je savais qu'il y en avait encore.
Pour Windows, je n'ai pas de connaissance.
Hé, ç
AMDFan
Verdoux a écrit a écrit :
Ca, c'est sous unix et El gringo est un fan de windows :)
Ah désolé, je savais qu'il y en avait encore.
Pour Windows, je n'ai pas de connaissance.
El_gringo
Amadeus a écrit a écrit :
utilises un timer avec SetTimer(...) et puis dans la fonction qui le gère tu fais ce que tu veux faire.
...j'voudrai pas abuser, mais j'vois pas comment ça fonctionne, pourquoi il nécessite un handler vers une fenêtre (hWnd) en paramètre ce SetTimer !?
tu pourrais pas me mettre un exemple vite fait stp !? :hello:
El_gringo
Verdoux a écrit a écrit :
Ca, c'est sous unix et El gringo est un fan de windows :)
un fan, un fan, g pas le choix moi, si j'veux que mon appli tourne sous Windows, je suis bien obligé de la développer pour windows, non !? (c d'aileur un des pbs du C, non !?)
là je suis pas sur, j'dis peut etre des conneries...
:hot: :bounce: :spookie:
verdoux
AMDFan a écrit a écrit :
Utilise les signaux et alarmes
Ca, c'est sous unix et El gringo est un fan de windows :)
Amadeus
utilises un timer avec SetTimer(...) et puis dans la fonction qui le gère tu fais ce que tu veux faire.
El_gringo
...tu pourrais pas être un chouilla plus précis !? :??:
AMDFan
Utilise les signaux et alarmes
El_gringo
Il s'agit d'un truc qu'on doit assez souvent mettre en oeuvre dans une appli et qui me parait enfait assez compilqué.
J'ai une appli qui sera toujours en tache de fond, et elle doit déclencher un traitement à une heure donnée, il y a surement moyen de faire ça sans threads et tout ce bordel (j'en veux pas de ça, c la merde !), mais comment !???