Voilà j'essaie de faire un prog sans MFC et je voudrais changer la couleur de text d'un bouton ainsi que ça couleur de fond.
Si qqun peu m'aider merci
mon code:
HWND winhWnd;// Handle de fenêtre clé de la fenêtre
HBRUSH hbr;
// Procédure qui va recevoir les messages
LRESULT CALLBACK WinProc(HWND, UINT, WPARAM, LPARAM);
// Réception des messages
LRESULT CALLBACK WinProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch (msg)
{
case WM_CTLCOLORBTN:
SetTextColor((HDC) wParam, RGB(0,255,3));
break;
// Fermeture du programme
case WM_DESTROY:
// Ferme le programme
PostQuitMessage(0);
break;
// Fermeture de la fenêtre via le menu système ou la croix(X) noir
case WM_CLOSE:
// Détruit la fenêtre
DestroyWindow(hwnd);
break;
// Réception des commandes
case WM_COMMAND:
// Vérifie que c'est bien le bouton Vérifie si on à cliquer sur le bouton
if ((LOWORD(wParam) == ID_BUTTON) && (HIWORD(wParam) == BN_CLICKED))
{
// Affiche un MessageBox disant qu'on à cliquer sur le bouton
MessageBox(winhWnd, "Vous avez cliquer sur le Bouton!!!", "BN_CLICKED", MB_OK|MB_ICONINFORMATION);
}
break;
default:
return DefWindowProc(hwnd, msg, wParam, lParam);
break;
}
DeleteObject(hbr);
return 0;
}
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
MSG msg;//structure contenant les messages a envoyer à la fenêtre
WNDCLASSEX wc;//structure temporaire pour paramétrerla fenêtre avant ça creation
// Création de la classe
wc.cbSize = sizeof(WNDCLASSEX); // Taille de la structure
wc.style = CS_HREDRAW | CS_VREDRAW; //redessiner la fenêtre après chaque modif
wc.lpfnWndProc = WinProc; // pointe versla fonction CALLBACK Wndproc pour savoir quelle fonction appeler
wc.cbClsExtra = 0; // ...
wc.cbWndExtra = 0; // ...
wc.hInstance = hInstance; // Contient la clé unique du programme
wc.hIcon = LoadIcon(hInstance,MAKEINTRESOURCE(IDI_ICON1)); // Grande icone
wc.hIconSm = LoadIcon(NULL, NULL); // Petite icone
wc.hCursor = LoadCursor(NULL, IDC_ARROW); // Curseur
wc.hbrBackground = (HBRUSH)GetStockObject(LTGRAY_BRUSH);// Couleur de fond
wc.lpszClassName = "Email";// Nom de la classe
wc.lpszMenuName = "Email"; // Menu
// Enregistre la classe
if (!RegisterClassEx(&wc))
{
// Échec
MessageBox(NULL, "Erreur lors de l'enregistrement de la classe.", "Erreur", MB_OK);
return 0;
}
// Création de la fenêtre
winhWnd = CreateWindowEx(0, "Email","Envoi d'email",WS_OVERLAPPEDWINDOW | WS_VISIBLE | SYSMENU ,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,HWND_DESKTOP,LoadMenu(hInstance, MAKEINTRESOURCE(IDR_MENU1)),hInstance,NULL);
//Création du bouton
if (winhWnd == NULL)
{
// Échec
MessageBox(NULL, "Erreur lors de la création de la fenêtre.", "Erreur", MB_OK);
return 0;
}
// Création du bouton
HWND cmdhWnd = CreateWindowEx(0, "BUTTON","couleur",WS_VISIBLE|WS_CHILD|BS_NOTIFY| BS_TEXT |BS_DEFPUSHBUTTON,30,30,150,80,winhWnd,(HMENU)ID_BUTTON,hInstance,NULL);
if (cmdhWnd == NULL)
{
// Échec
MessageBox(winhWnd, "Erreur lors de la création du Bouton.", "Erreur", MB_OK);
return 0;
}
// Envoie tu texte dans le bouton(Caption)
SetWindowText(cmdhWnd, "Ceci est un Bouton!");
// Boucle qui permet au programme de rester ouvert :)
while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return 0;
}
Cmill