Voial, je voudrais sauvegarder dans un .ini certaines configuration de mon programme, mise en systray, couleur ....
Mais certaines de ces options n'ont que deux etats via une check box (1 ou 0)...
Comment faire" pour alleger mon code ???
// Appel de mon option dans le .ini
GetPrivateProfileString("Systray", "Systray", buff_systray, buff_receive, sizeof(buff_receive), "esclave.ini" );
if(strcmp(buff_receive,"1" )==0) SendMessage(GetDlgItem(hDlgOptionsProc, IDC_CHECK_SYSTRAY),BM_SETCHECK,BST_CHECKED,0);
else SendMessage(GetDlgItem(hDlgOptionsProc, IDC_CHECK_SYSTRAY),BM_SETCHECK,BST_UNCHECKED,0);
case WM_COMMAND:
switch(LOWORD(wParam))
{
case IDOK :
//SendDlgItemMessage(hDlgOptionsProc, IDC_CHECK_SYSTRAY, BM_GETCHECK, 0, 0);
//if(check==1) WritePrivateProfileString("Systray", "Systray", "1", "esclave.ini" );
//else WritePrivateProfileString("Systray", "Systray", "0", "esclave.ini" );
WritePrivateProfileString("Systray", "Systray", buff_systray, "esclave.ini" );
EndDialog(hDlgOptionsProc,1);
break;
case IDC_CHECK_SYSTRAY:
switch(SendMessage(GetDlgItem(hDlgOptionsProc, IDC_CHECK_SYSTRAY),BM_GETCHECK,0,0))
{
case BST_CHECKED:
strcpy(buff_systray,"1" );
break;
case BST_UNCHECKED:
strcpy(buff_systray,"0" );
break;
}
break;
}
break;
Voila, les parametres s'enregistre dans le fichier escalve.ini, lorsque l'on clique sur le bouton OK !
Mais j'ai mis e,n place un buffer de 100 (je sais, c'est énorme pour du booléen, sachant qu'il n'a que 2 etats (1 ou 0)), mais l'importance n'est pas la, l'importance et que j'aimerais savoir comment faire sans utiliser un buffer, il doit bien y avoir un moyen ....
Merci
Albi