begin process at 2012 05 29 22:37:02
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

API

 > 

Probleme de Timer avec SetCursorPos


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

Probleme de Timer avec SetCursorPos

dimanche 15 février 2004 à 03:38:58 | Probleme de Timer avec SetCursorPos

Maegis

Voila je fais une appli Win32 qui necesite l'emploi d'un timer
Le probleme c'est que je ne recois jamois le message WM_TIMER ,en fait je le recois si je ne fais pas appel a la fonction SetCursorPos dont j'ai besion aussi
voici mon code

//fonction main [...]
SetTimer(hWnd,1,10,NULL);
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
KillTimer(hWnd,1);

ShowCursor(TRUE); //on le raffiche
return msg.wParam;
}



/*---------------------------------*/
//Fonction de gestion des messages
/*---------------------------------*/
LRESULT CALLBACK WinProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
{

switch(uMsg)
{

//[...] case WM_CREATE etc
//tout ca marche parfaitement

case WM_MOUSEMOVE: //gestion de la souris
GestionSouris(&c);
//Et c'est la que ca coince car dans gestionsouris je fait
//appel a SetCursorPos
//Si je ne fait plus appel a setcursor pos c'est bon ca passe
//mais ma fonction gestion souris ne fonctionne plus comme il faut
UpdateWindow(hWnd);
return 0;

case WM_TIMER:
//[...] ce que j'ai a faire return 0;
}
return DefWindowProc (hWnd,uMsg,wParam,lParam);
}

Donc le truc est tres etrange
En plus,
Si lorsque je recois le message WM_PAINT je renvoye autre chose que DefWindowProc([...]) ca me fait la meme chose, je ne recois plsu de message timer

J'ai essayé de faire appel a une fonction callback de timer mais ca me fait la meme chose
A la limite le Pb avec le PAINT je peut le regler mais avec le SetCursor je bloque HELP!!!
vendredi 5 mars 2004 à 13:22:36 | Re : Probleme de Timer avec SetCursorPos

PhantomPowaa

euh, à ce que je sais, on doit pas mettre de valeur inférieur à 18ms env (plutot 20) pour le timer (c marqué dans le petzold).
Moi le settimer je l'aurai plutot mis dans wm_create, puis sans ça je c pas, y a une fonction dont tu te sers mal ptet, alors lit bien le msdn pour toutes tes fonctions et voila quoi
bonne chance (en Win32 on est tous passé par là ;) )


Cette discussion est classée dans : fonction, timer, wm, hwnd, setcursorpos


Répondre à ce message

Sujets en rapport avec ce message

[C++ API W32] Timer et dialogbox... [ par 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 souhai WM_PAINT et ScrollBar [ par AlexMAN ] Bonjour, Je dois dessiner quelque chose en fonction de la position d'une scrollbar, je me demandais si je pouvais créer un HDC memoire de la taille de WM_TIMER [ par Florenzau ] Bonjour, je souhaite interrompre le comptage d'un timer (le temps d'un appel à une fonction) pour pouvoir ensuite le reprendre là ou il en était?? Une Effacer les graphiques avec InvalidateRect !? [ par Suisse00 ] Dans plusieurs source je voie qu'il utilise InvalidateRect  pour "effacer". Mais dans mon cas sa fait en sorte que je recois toujours WM_PAINT (et don Prob gestion des touches Win32 Unicode [ par raton ] Salut a tous.Voila je suis en train de dev une app pour un scanner (genre ce qu'utilise les caissieres mais avec des touches dessus) et j'ai un petit Decalement de 3 pixel dans le HDC [ par SnOOpss ] Bonjour !!! Pourquoi si je fait :     case WM_PAINT:         {     RECT rt;     PAINTSTRUCT ps;     HDC hdc = BeginPaint(GetParent(hwnd), &a 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 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( Problème d'enregistrement avant de quitter [ par julien_boss ] Un problème assez chiant il faut dire. Voilà, je vous explique :le client quitter sur la pitite croix rouge, direction message WM_CLOSE :        case


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 : 1,170 sec (4)

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