Salut
En fait j'ai une boite de dialogue où j'ai plusieurs boutons.
Sur j'appui d'un bouton, je modifie une variable, puis j'envoie un message WM_DRAWITEM afin de redessiner le bouton
voici le code:
LRESULT CALLBACK ETAT_ALARME(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
HDC hdcalarme;
HWND hwndbouton;
switch (message)
{
case WM_INITDIALOG:
ETAT_ALARME_InitDialog(hDlg);
return TRUE;
case WM_COMMAND:
switch (LOWORD(wParam)){
case IDC_ALARME_ECLAIR:
flag_ALARME_ECLAIR= OK;
SendMessage(hDlg,WM_DRAWITEM,0,lParam);
return TRUE;
//De meme pr les autres boutons
}// end of switch (LOWORD(wParam))
break;
case WM_CLOSE://sortir du menu sans action (avec la croix X )
DestroyWindow(hDlg);
break;
case WM_DRAWITEM:
ETAT_ALARME_DrawButton (hDlg, (LPDRAWITEMSTRUCT)lParam);
break;
} // end of switch (message)
return FALSE;
}
void ETAT_ALARME_DrawButton (HWND hWnd, LPDRAWITEMSTRUCT pdi)
{
switch (pdi->CtlID)
{
case IDC_ALARME_ECLAIR:
if (flag_ALARME_ECLAIR = = OK) DrawIconEx (pdi->hDC, ptIn.x,ptIn.y, hIcon_OK,0,0,0,NULL, DI_NORMAL);
else if (flag_ALARME_ECLAIR = = NONOK) DrawIconEx (pdi->hDC, ptIn.x,ptIn.y, hIcon_QUIT,0,0,0,NULL, DI_NORMAL);
break;
//De meme pr les autres boutons
//---------------------------------
} //end of switch (pdi->CtlID)
}
Donc normalement, lorsque j'appui sur un bouton, il doit envoyer le message avec le "lparam" correspondant au bouton. Et c'est là d'où vient le pb.
Je veux envoyer la bonne valaur afin de rafraichir le bouton correspondant
Quelqu'un peut il m'aider
Merci d'avance