begin process at 2012 05 29 01:26:49
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

API

 > 

[C++ API W32] Timer et dialogbox...


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[C++ API W32] Timer et dialogbox...

vendredi 7 octobre 2005 à 11:34:15 | [C++ API W32] Timer et dialogbox...

ludoviskm

Bonjour a toutes et a tous.
Je suis actuellement en train de fair un petit programme qui se connecte a une base de données.
Dans ce programme, je souhaite mettre a jour une combobox grace a un timer qui envera un message toutes les 5 minutes qui permettra de rafraichir la combo box.
J'ai donc decidé de passer par un timer. L'ennuie c'est que je ne sais pas trop comment l'instancier : je m'explique.. Voici le prototype de la fonction SetTimer :

UINT SetTimer(
  HWND
hWnd,              // handle of window for timer messages
  UINT nIDEvent,          // timer identifier
  UINT uElapse,           // time-out value
  TIMERPROC lpTimerFunc   // address of timer procedure
);

Normalement je dois le mettre ici (en dehors de la boucle de messages)

int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
   
 DialogBox (hInstance,
    (LPCSTR)IDD_MAIN_DIALOG,
    NULL,
    (DLGPROC)DialogProc);
 // SetTimer(hwnd,ID_TIMER_REFRESH,500,NULL);   // Message toutes les 0.5 secondes
return 0;

}

Malheureusement a ce niveau je ne connais pas le handle de ma fenetre!! Comment puis je donc le reccuperer? J'ai vu des exemples qui partent sur un objet WNDCLASS (et la on renseigne le hwnd avec la fonction CreateWindow() ) mais la comemnt faire? En gros je souhaite reccuperer le handle de ma dialogbox dans la fonction APIENTRY..
Ps : j'ai esayer de mettre la fonction SetTimer dans la boucle de message (ou je connai mon handle) mais cela ne marche pas dans la mesure ou l'arrivée d'autres messages reset le timer (car fait appel a nouveau a la fonction SetTimer :s)

Merci de m'aider ;)

vendredi 7 octobre 2005 à 11:45:05 | Re : [C++ API W32] Timer et dialogbox...

Arnotic

Administrateur CodeS-SourceS
Réponse acceptée !
Tu mets le SetTimer à l'init de ta dialog.
Sinon tu peux mettre 0 et rajouter une callback (dernier param)

@+
Arnotic,
Admin CS,
Développeur chez Néos SDI,
MVP Visual C++
vendredi 7 octobre 2005 à 13:59:55 | Re : [C++ API W32] Timer et dialogbox...

gamemonde

Membre Club
Réponse acceptée !
oui c'est cela tu le met Dans
case WM_INITDIALOG:
  SetTimer(hwnd,ID_TIMER_REFRESH,500,NULL);

mais une autre question relier a celle là comment crée deux id de timer
car je n'arrive qu'a en faire un
vendredi 7 octobre 2005 à 14:02:01 | Re : [C++ API W32] Timer et dialogbox...

ludoviskm

Merci je n'y avait pas pensé !!!!
vendredi 7 octobre 2005 à 14:16:42 | Re : [C++ API W32] Timer et dialogbox...

Arnotic

Administrateur CodeS-SourceS
dans le message WM_TIMER le wparam correspond à l'ID de ton timer.

[ Lien ]

suffit donc de traiter en conséquence.

@+
Arnotic,
Admin CS,
Développeur chez Néos SDI,
MVP Visual C++


Cette discussion est classée dans : fonction, timer, hwnd, settimer, dialogbox


Répondre à ce message

Sujets en rapport avec ce message

Probleme de Timer avec SetCursorPos [ par Maegis ] Voila je fais une appli Win32 qui necesite l'emploi d'un timerLe probleme c'est que je ne recois jamois le message WM_TIMER ,en fait je le recois si j SetTimer [ par palenthir ] Svp aider moi.J'utilise la fonction SetTimer, a pparemment je la rempli correctement (pas d'erreur ni a la compilation ni a l'execution). Je me suis a Fonction qui recupere le HWND du prog courrant...??? [ par youpiyoyo ] j'aurai besoin de recupere le HWND,je sais ke l'on peut le mettre en global du genreLRESULT CALLBACK DlgMainProc(HWND hwnd, UINT msg, WPARAM wParam, L 1407 : Cannot find window class [ par nemmezis ] Salut tout le monde, Voilà, ça fait un jour que je bloque sur un problème qui m'empêche d'avancer : je crée une boîte de dialogue modale avec la fonc HWND Fonction [ par Crew209 ] Crew209J'arive pas a utilisé vos fonction :'( ! pouvez vous détaillé chaque param svp ?? Merci BOCOUP ! SetTimer,KillTimer [ par samki ] j essayes d utiliser la fonction SEtTimer mais j ai une erreur comme koi la fonction prend 3 paramètre,alors qu en MSDN j ai troub=vé qu il y a 4 para Timer [ par falcon971 ] Bonjour, je cherche à réaliser un timer sous linux en C.Après toute mes recherche sur le net je n'ai pu trouver de version correspondant à mon cas.Je Timer précis mode console [ par bigzooloo ] Bonjour,Voici mon problème : je souhaite avoir un Timer PRECIS de 40 ms en mode console.- J'ai déjà essayé la fonction Sleep(40) mais elle attend ENVI Timer...? [ par dbiare ] Bonjour Je veux déclencher un timer sous Visual C++6. Je vais dans l’onglet Resource View de l’espace de travail, click droit sur xxxResources et séle Un timer qui reste "muet" [ par dbiare ] Bonjour Je n’arrive pas a déclencher un timer sous Visual C++6 !!! Après avoir créé un symbole (ID_TIMER) et lui donner une valeur j’écrit : SetTimer(


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,156 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales