palenthir
Messages postés11Date d'inscriptionmercredi 16 mars 2005StatutMembreDernière intervention16 février 2006
-
30 mars 2005 à 14:20
palenthir
Messages postés11Date d'inscriptionmercredi 16 mars 2005StatutMembreDernière intervention16 février 2006
-
6 avril 2005 à 10:01
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 appuyer sur un fichier C++ qui utilise deja cette fonction, j'ai lu lpein de sujet et d'exemple sur le forum mais rien ne m'éclaire.
JAMAIS JE N'ARRIVE DANS LE CASE WM_TIMER!!!
Le SetTimer est bien pris en compte mais jamais je ne me retrouve dans le case WM_TIMER ni dans la fonction que j'attache au timer.
Est ce qu'il n'y aurait pas un truc tout bidon que j'aurai oublié????? Pourquoi quand je fais comme dans vos exemples cela ne marche pas mieux???? Est ce une option à la compilation que j'ai oublié????
Merci de me venir en aide sinon je risque de craquer!!!!
// Global Variables:
HINSTANCE hInst; // current instance
TCHAR szTitle[MAX_LOADSTRING]; // The title bar text
TCHAR szWindowClass[MAX_LOADSTRING]; // The title bar text
// Foward declarations of functions included in this code module:
ATOM MyRegisterClass(HINSTANCE hInstance);
BOOL InitInstance(HINSTANCE, int);
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
LRESULT CALLBACK About(HWND, UINT, WPARAM, LPARAM);
void fonctionanous(void);
void AffMouse(HWND);
//void TurnCircle(HWND hWnd);
VOID CALLBACK TurnCircle(HWND hWnd,UINT uMsg,UINT_PTR idEvent,DWORD dwTime);
VOID CALLBACK EssaiTime(HWND hWnd,UINT uMsg,UINT_PTR idEvent,DWORD dwTime);
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
// TODO: Place code here.
MSG msg;
HACCEL hAccelTable;
//Notre fonction d'initialisation
//fonctionanous();
// Main message loop:
while (GetMessage(&msg, NULL, 0, 0))
{
if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
return msg.wParam;
//return 0;
}
//
// FUNCTION: MyRegisterClass()
//
// PURPOSE: Registers the window class.
//
// COMMENTS:
//
// This function and its usage is only necessary if you want this code
// to be compatible with Win32 systems prior to the 'RegisterClassEx'
// function that was added to Windows 95. It is important to call this function
// so that the application will get 'well formed' small icons associated
// with it.
//
ATOM MyRegisterClass(HINSTANCE hInstance)
{
WNDCLASSEX wcex;
//
// FUNCTION: InitInstance(HANDLE, int)
//
// PURPOSE: Saves instance handle and creates main window
//
// COMMENTS:
//
// In this function, we save the instance handle in a global variable and
// create and display the main program window.
//
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
{
HWND hWnd;
hInst = hInstance; // Store instance handle in our global variable
//
// FUNCTION: WndProc(HWND, unsigned, WORD, LONG)
//
// PURPOSE: Processes messages for the main window.
//
// WM_COMMAND - process the application menu
// WM_PAINT - Paint the main window
// WM_DESTROY - post a quit message and return
//
//
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
// Mesage handler for about box.
LRESULT CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_INITDIALOG:
return TRUE;
case WM_COMMAND: if (LOWORD(wParam) IDOK || LOWORD(wParam) IDCANCEL)
{
EndDialog(hDlg, LOWORD(wParam));
return TRUE;
}
break;
}
return FALSE;
}
void fonctionanous(void)
{
}
void AffMouse(HWND hWnd)
{
PAINTSTRUCT ps;
HDC hdc;
RECT rc, rc3;
hdc = BeginPaint (hWnd, &ps); // début du dessin
GetClientRect (hWnd, &rc); // taille de la fenêtre dans rc
// Exemple d'écriture
SetTextColor(hdc, RGB(90,90,90)); // ecrit en gris
TextOut (hdc, 10,10,"Mon 1er exe en C++",18);
///////////////////////////////////////
//écriture des coordonnées de la souris
POINT ptMouse;
// Exemple de dessin
HPEN hpen = CreatePen(PS_SOLID, 10, RGB(0, 255, 0)); // pinceau
HBRUSH hbrush = CreateSolidBrush(RGB(255, 0, 0)); // brosse
// Selectionne les nouveaux outils et dessine.
SelectObject(hdc, hpen); SelectObject(hdc, hbrush);
int x = rc.right/2;
int y = rc.bottom/2; // centre
// Rectangle(hdc, x-100,y-100, x,y);//rectangle
// Arc(hdc, x-100,y-100,x+100,y+100,x-80,y-60,x-60,y-80);//cercle
hpen = CreatePen(PS_SOLID, 15, RGB(255, 0, 0)); // pinceau
SelectObject(hdc, hpen);
MoveToEx(hdc,x-10,y-10,NULL); LineTo(hdc,x+40,y+40);
/////////////////////////////////////////
//Convertion des coordonnées de la souris
//dans l'écran aux coordonnées dans la
//fenetre
POINT fen=ptMouse;
ScreenToClient(hWnd,&fen);
itoa(fen.x,buf,10);
TextOut (hdc, 10,140,buf,strlen(buf));
itoa(fen.y,buf,10);
TextOut (hdc, 10,160,buf,strlen(buf));
/////////////////////////////////////////
/////////////////////////////
//ligne qui suit la souris
MoveToEx(hdc,x,y,NULL);
palenthir
Messages postés11Date d'inscriptionmercredi 16 mars 2005StatutMembreDernière intervention16 février 2006 1 avril 2005 à 09:56
Ok, j'ai enlevé le WM_INITDIALOG, mais ca ne marche pas mieux!!!
J'ai exécuter en mode debugeur, ça passe bien sur l'instruction SetTimer dans le WM_CREATE, mais ça n'arrive jamais dans le WM_TIMER!!!!
palenthir
Messages postés11Date d'inscriptionmercredi 16 mars 2005StatutMembreDernière intervention16 février 2006 1 avril 2005 à 17:16
oui ca retourne une valeur différente de zéro (même que ca retourne 1)!!!
ya pas une option spécial pour la compilation ou un truc du genre!!!
moi je désespère
SnOOpss
Messages postés571Date d'inscriptionsamedi 3 avril 2004StatutMembreDernière intervention 5 décembre 2013 1 avril 2005 à 18:56
Non la je voit pas désolé !!
Et perso j'ai jamais vu non plus d options speciale de compilations
pour les timers j'espere que quelqu'un va trouver la solution parce que
ca m interesse aussi !!
palenthir
Messages postés11Date d'inscriptionmercredi 16 mars 2005StatutMembreDernière intervention16 février 2006 5 avril 2005 à 12:54
Ca ne marche pas mieux!!!
Juste une question pour faire avancer le schimlblik :
Est ce que le fait de faire un projet de type "Hello World" peut etre la cause de l'erreur (genre ca ne marcherai que en MFC)?????
palenthir
Messages postés11Date d'inscriptionmercredi 16 mars 2005StatutMembreDernière intervention16 février 2006 6 avril 2005 à 10:01
Au début j'avais créé un projet (avec VC++) Windows application mais de type "Hello world" donc avec les fenetre blanches. Maintenant j'ai créé un projet Windows application mais de type Empty projet et j'ai inséré moi meme une fenetre de dialogue (une grise). Je ne sais pas si c'est vraiment ca le fond du probleme, mais là au moins ca marche donc je vais bosser là dessus.