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

  FORUM HardWare.fr
  Programmation
  C++

  les evenements en MFC

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

les evenements en MFC

n°343396
polo021
Posté le 26-03-2003 à 09:23:48  profilanswer
 

J'aimerai que mon programme qui va tourner sur un pocketPC m'avertisse si le niveau de la batterie du PocketPC est bas.
Pour l'instant, j'arrive a savoir le pourcentage de charge de la batterie mais comment faire un evenement qui se declanche quand je suis par exemple a 20 ou 30% ?

mood
Publicité
Posté le 26-03-2003 à 09:23:48  profilanswer
 

n°343924
polo021
Posté le 26-03-2003 à 15:14:55  profilanswer
 

polo021 a écrit :

J'aimerai que mon programme qui va tourner sur un pocketPC m'avertisse si le niveau de la batterie du PocketPC est bas.
Pour l'instant, j'arrive a savoir le pourcentage de charge de la batterie mais comment faire un evenement qui se declanche quand je suis par exemple a 20 ou 30% ?


 
 
personne?

n°343941
Konar
Posté le 26-03-2003 à 15:19:32  profilanswer
 

polo021 a écrit :

J'aimerai que mon programme qui va tourner sur un pocketPC m'avertisse si le niveau de la batterie du PocketPC est bas.
Pour l'instant, j'arrive a savoir le pourcentage de charge de la batterie mais comment faire un evenement qui se declanche quand je suis par exemple a 20 ou 30% ?


 
une solution basique : si c'est en Win32, tu peux mettre un timer (par ex toutes les 100 ms), où tu testes ta valeur et si c'est < a 20 alors tu fais ton truc.
 
y a surement mieux, mais chuis pas assez expert pocketPC.
(tu peux essayer de voir aussi du coté des event sink mapping si tu as un controle qui correspond a une gestion de batterie)

n°343951
polo021
Posté le 26-03-2003 à 15:22:23  profilanswer
 

Konar a écrit :


 
une solution basique : si c'est en Win32, tu peux mettre un timer (par ex toutes les 100 ms), où tu testes ta valeur et si c'est < a 20 alors tu fais ton truc.
 
y a surement mieux, mais chuis pas assez expert pocketPC.
(tu peux essayer de voir aussi du coté des event sink mapping si tu as un controle qui correspond a une gestion de batterie)
 


 
merci Konar  :o  
mais malheureusement c'est du MFC. L'idee parait interessante je vais aller voir ce qu'on dit du cote des timers pour MFC.


Message édité par polo021 le 26-03-2003 à 15:22:55
n°343963
Konar
Posté le 26-03-2003 à 15:29:18  profilanswer
 

polo021 a écrit :


 
merci Konar  :o  
mais malheureusement c'est du MFC. L'idee parait interessante je vais aller voir ce qu'on dit du cote des timers pour MFC.


 
arf... raté de lire le titre, si c'est des mfc rien t'empeche de faire du timer, apres comment ca marche les timer en mfc, chais pas. ca marche surement presk pareil qu'en Win32 normal...
 
mate du coté de SetTimer ds les msdn

n°344096
VisualC++
J'va y penser ...
Posté le 26-03-2003 à 16:40:52  profilanswer
 

CWnd::SetTimer(idtimer, duree)
puis OnTimer(id) si id = idtimer alors tu fait un joli ::SendMessage ou ::PostMessage suivant ce que tu veux

n°344110
polo021
Posté le 26-03-2003 à 16:47:08  profilanswer
 

VisualC++ a écrit :

CWnd::SetTimer(idtimer, duree)
puis OnTimer(id) si id = idtimer alors tu fait un joli ::SendMessage ou ::PostMessage suivant ce que tu veux


 
comment on declare un timer?
 
int m_nTimer = SetTimer(1, 2000, 0);
 
?

n°344131
VisualC++
J'va y penser ...
Posté le 26-03-2003 à 16:54:10  profilanswer
 

oui
 
mais la valuer de retour tu t en fou (enfin tu teste pour savoir si ok ou pas mais c pas l'id du timer), c est 1 la l'id et duree 2000 millisecond
 
Et une fois finie l utilisation fait un KillTimer(idtimer)

n°344147
polo021
Posté le 26-03-2003 à 17:03:59  profilanswer
 

ca va pas  :sweat:  
 

Code :
  1. CCASView::CCASView()
  2. : CFormView(CCASView::IDD)
  3. {
  4. //{{AFX_DATA_INIT(CCASView)
  5.  // NOTE: the ClassWizard will add member initialization here
  6. //}}AFX_DATA_INIT
  7. // TODO: add construction code here
  8. CWnd::SetTimer(1, 1000, 0);
  9. }
  10. void CCASView::OnTimer(UINT nIDEvent)
  11. {
  12. if(nIDEvent == 1)
  13. AfxMessageBox(CString("timer!" ));
  14. CFormView::OnTimer(nIDEvent);
  15. }


 
t'es sur qu'il n'y a rien d'autre a faire?


Message édité par polo021 le 26-03-2003 à 17:04:59
n°344166
VisualC++
J'va y penser ...
Posté le 26-03-2003 à 17:11:40  profilanswer
 

Code :
  1. SetTimer(1, 1000, NULL); << pas besoin d'appeler CWnd:: tu en derives
  2. void CCASView::OnTimer(UINT nIDEvent) 
  3. {
  4. if(nIDEvent == 1) 
  5. AfxMessageBox(CString("timer!" ));
  6. CFormView::OnTimer(nIDEvent);
  7. }


 
Et, tu peut pas le faire l'appel ds le constructeur, ta Vue existe mais tt les handle sont NULL, fait le ds le OnInit ou autre

mood
Publicité
Posté le 26-03-2003 à 17:11:40  profilanswer
 

n°344788
polo021
Posté le 27-03-2003 à 09:14:32  profilanswer
 

:jap:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  les evenements en MFC

 

Sujets relatifs
MFC : les pointeurs sur Doc c'est de la m....?Visibilite des classes MFC
MFC pointeur sur CDocumentVariable globale en MFC?
Interfacage Allegro/MFCMFC
Gestion des évènements avec les MFCGestion des évènements avec les MFC
Gestion des évènements avec les MFC[MFC - Visual C++] Evenements de CEdit...
Plus de sujets relatifs à : les evenements en MFC


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR