0/5 (16 avis)
Vue 8 190 fois - Téléchargée 623 fois
#include <windows.h> // ID(identificateur) du bouton #define ID_BUTTON 100 #define ID_TEXTE 101 #define ID_IMAGE 1002 // Procédure qui va recevoir les messages LRESULT CALLBACK WinProc(HWND, UINT, WPARAM, LPARAM); // Entré du programme int WINAPI WinMain(HINSTANCE instance1, HINSTANCE instance2, LPSTR lps, int nShow) { MSG message; WNDCLASSEX fen; COLORREF couleur = RGB(1200,10000,14); // couleur de fond // Création de la classe fen.hInstance = instance1; // Instance fen.lpszClassName = "bouton_r"; // Nom de la classe fen.lpfnWndProc = WinProc; // Adresse de la procédure fen.style = CS_DBLCLKS; // Style fen.cbSize = sizeof(WNDCLASSEX); // Taille fen.hIcon = LoadIcon(NULL,NULL); // Grande icone fen.hIconSm = LoadIcon(NULL,NULL); // Petite icone fen.hCursor = LoadCursor(NULL, IDC_ARROW); // Curseur fen.lpszMenuName = NULL; // Menu fen.cbClsExtra = 0; fen.cbWndExtra = 0; fen.hbrBackground = (HBRUSH)CreateSolidBrush(couleur); // Couleur de fond // Enregistre la classe if (!RegisterClassEx(&fen)) { // Échec MessageBox(NULL, "Erreur lors de l'enregistrement de la classe.", "Erreur", MB_OK); return 0; } // déclaration et création de la fenêtre et du bouton //WS_OVERLAPPEDWINDOW HWND fenetre = CreateWindowEx(WS_EX_CLIENTEDGE, "bouton_r", "Alerte NortonAntivirus", 0, CW_USEDEFAULT, CW_USEDEFAULT,300, 250, HWND_DESKTOP, NULL, instance1, NULL); HWND bouton = CreateWindowEx(0, "BUTTON", "", WS_VISIBLE|WS_CHILD|BS_PUSHBUTTON|BS_NOTIFY|BS_TEXT, 63, 120, 150, 40, fenetre, (HMENU)ID_BUTTON, instance1, NULL); HWND texte = CreateWindowEx(WS_EX_CLIENTEDGE, "STATIC", NULL, WS_VISIBLE|WS_CHILD, 22, 20, 240, 65, fenetre, (HMENU)ID_TEXTE, instance1, NULL); if ((fenetre == NULL)||(bouton == NULL)||(texte == NULL)) { // Échec de l'affichage des éléments MessageBox(NULL, "Erreur lors de la création de la fenêtre.", "Erreur", MB_OK); return 0; } Sleep(20000);// attend 30 secondes avant d'afficher la fenetre // Affiche la fenêtre ShowWindow(fenetre, SW_SHOW); // Met à jour la fenêtre UpdateWindow(fenetre); // Envoie du texte dans les statics SetWindowText(texte, " Un virus a infecté votre ordinateur,\n Cliquez sur le bouton pour le\n supprimer."); // Envoie tu texte dans le bouton(Caption) SetWindowText(bouton, ">Supprimer le virus<"); // Donne le focus au bouton SetFocus(bouton); // Met à jour le bouton et le texte UpdateWindow(bouton), (texte); // Boucle qui permet au programme de rester ouvert :) while (GetMessage(&message, NULL, 0, 0)) { TranslateMessage(&message); DispatchMessage(&message); } // Fin du programme return message.wParam; } // Réception des messages LRESULT CALLBACK WinProc(HWND fenetre2, UINT message2, WPARAM wParam, LPARAM lParam) { switch (message2) { // 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(fenetre2); 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)) { // Quitte la fenetre DestroyWindow(fenetre2); } break; default: return DefWindowProc(fenetre2, message2, wParam, lParam); break; } return 0; }
30 juil. 2006 à 12:27
Regarde ici c'est encore mieux pour débuter : http://www.cppfrance.com/codes/CREATEWNIDOWEX-LISTBOX-EDITBOX-BUTTON-SCROLLBAR_9289.aspx
@++,
Victor
30 juil. 2006 à 12:24
Je tiens a te remercier,
Car je debute et pour l'instant je programmais que en console !!
Grace a ton code source qui est clairement expliquer, je vais pouvoir commencer !!
Merci,
Cordialement,
Insider
20 oct. 2004 à 16:55
20 oct. 2004 à 16:33
1 juil. 2004 à 20:12
wincl.hbrBackground
il faut le completer de la sorte :
wincl.hbrBackground = reinterpret_cast<HBRUSH>(3);
là j'ai mis 3 mais on peux mettre un autre nombre pour la couleur je n'ai testé que jusqu'a 20
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.