begin process at 2012 05 27 14:15:43
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Application

 > CHANGER LA COULEUR DE FOND D'UN DIALOG (VC++ SANS MFC)

CHANGER LA COULEUR DE FOND D'UN DIALOG (VC++ SANS MFC)


 Description

Cliquez pour voir la capture en taille normale
Suite a de nombreuses questions sur le forum, j'ai fait rapidement cette petite source SANS MFC qui permet de modifier la couleur de fond d'un Dialog.
Ce code est censé marcher sous tous les compilateurs.

A++ et bonne prog all ....

Source

  • /**
  • * Programme : ChangeBckColor
  • * Auteur : Shell
  • * Date : 06/04/2004
  • * Commentaires : Permet de changer a sa guise la couleur de fond d'un Dialog
  • **/
  • #include <windows.h>
  • #include "resource.h"
  • HBRUSH hBrush;
  • HINSTANCE hInst;
  • LRESULT CALLBACK DlgProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
  • int APIENTRY WinMain(HINSTANCE hInstance,
  • HINSTANCE hPrevInstance,
  • LPSTR lpCmdLine,
  • int nShowCmd)
  • {
  • hInst = hInstance;
  • DialogBox(hInstance, MAKEINTRESOURCE(IDD_DIALOG1), NULL, (DLGPROC) DlgProc);
  • return 0;
  • }
  • LRESULT CALLBACK DlgProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
  • {
  • switch(Msg)
  • {
  • case WM_INITDIALOG:
  • //On choisi la couleur de fond a l'aide du "pinceau"
  • //Les valeurs doivent etre compris entre 0 et 255
  • hBrush = CreateSolidBrush(RGB(192,255,80));
  • break;
  • case WM_COMMAND:
  • switch(LOWORD(wParam))
  • {
  • case IDC_QUITTER:
  • DestroyWindow(hWnd);
  • break;
  • }
  • break;
  • case WM_CLOSE:
  • DestroyWindow(hWnd);
  • break;
  • case WM_CTLCOLORDLG:
  • return (LONG)hBrush;
  • break;
  • default:
  • return(FALSE);
  • }
  • return(TRUE);
  • }
/**
* Programme      : ChangeBckColor
* Auteur         : Shell
* Date           : 06/04/2004
* Commentaires   : Permet de changer a sa guise la couleur de fond d'un Dialog
**/

#include <windows.h>
#include "resource.h"

HBRUSH		hBrush;
HINSTANCE	hInst;

LRESULT CALLBACK DlgProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);

int APIENTRY WinMain(HINSTANCE hInstance,
					 HINSTANCE hPrevInstance,
					 LPSTR lpCmdLine,
					 int nShowCmd)
{
	hInst = hInstance;
	DialogBox(hInstance, MAKEINTRESOURCE(IDD_DIALOG1), NULL, (DLGPROC) DlgProc);
	return 0;
}

LRESULT CALLBACK DlgProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
{
	switch(Msg)
	{
	case WM_INITDIALOG:
		//On choisi la couleur de fond a l'aide du "pinceau"
		//Les valeurs doivent etre compris entre 0 et 255
		hBrush = CreateSolidBrush(RGB(192,255,80));
		break;

	case WM_COMMAND:
		switch(LOWORD(wParam))
		{
		case IDC_QUITTER:
			DestroyWindow(hWnd);
			break;
		}
		break;

	case WM_CLOSE:
		DestroyWindow(hWnd);
		break;

	case WM_CTLCOLORDLG:
		return (LONG)hBrush;
		break;
	
	default:
		return(FALSE);
	}

	return(TRUE);
}


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip DECOUPAGE CHEMIN FICHIER (FORUM)
Source avec Zip Source avec une capture PARAMETRAGE CARTES RESEAUX (VC++ SANS MFC) (FORUM)
Source avec Zip Source avec une capture DRAG AND DROP DE FICHIERS (MFC) (FORUM)
Source avec Zip TIMER (VC++ SANS MFC) (FORUM)
Source avec Zip Source avec une capture PROGRAME MULTI-DIALOG (VC++ SANS MFC) (FORUM)

 Sources de la même categorie

Source avec Zip Source avec une capture PROGRAMME DE SUDOKU par AffreuxJojp
Source avec Zip EVALUATEUR D'EXPRESSION ARITHMÉTIQUE par matrx180vTitanium
Source avec Zip Source avec une capture QBIBLIO GESTION DES PRÊTS par conatic
Source avec Zip Source avec une capture QL-CHATROOM V 1.0 par mature
Source avec Zip Source avec une capture GEOLOCALISATION par ganjarasta

Commentaires et avis

Commentaire de BruNews le 07/04/2004 03:13:25 administrateur CS

Salut,
une dialogbox modale (affichee par DialogBoxParam) n'appelle pas DestroyWindow et n'a pas non plus a traiter WM_CLOSE pour se fermer. On utilise EndDialog(hdlg, nresult).
DialogProc doit retourner 1 dans WM_INITDIALOG, 0 autre cas.

BruNews, Admin CS, MVP Visual C++

Commentaire de DeAtHCrAsH le 07/04/2004 10:39:22

Je comprend vaguement ce que tu veux me dire... Si tu as un exemple a me donner se serrez gentil...

Sinon le but de la source en elle meme est le changement de couleur de fond ... Le code est ok pour ca au moins non ?

Commentaire de Fly57 le 07/04/2004 11:28:34

en gros y'a pas l'air d'avoir besoin de traiter le cas WM_CLOSE et qu'il faut utiliser EndDialog(hdlg, nresult) et non DestroyWindow(hWnd);

euh sinon j'ai une question, j'ai pas VS donc j'ai pas pu compiler il me manque "afxres.h", mais est-ce que ça peut-être appliqué sur un bouton ou un edit ?

Commentaire de DeAtHCrAsH le 07/04/2004 19:58:44

t'as pas pu compiler ???
Pourtant ya pas de MFC la dedans ...

Recopie le code dans un nouveau projet au lieu d'utiliser le projet u'il y a dans le zip ....

Commentaire de oulaika le 14/05/2004 20:18:35

bonjour
je crée un DialogBoxParam qui fait appel a la fonction DialogProc, cette operation est bloquante, le processus se bloque sur la ligne:
-&gt;DialogBoxParam( 0, MAKEINTRESOURCE(IDD_RING), 0, DialogProc,...
et la fonction  DialogProc s'execute infiniment, j'usqu'à present,c'esr tout à fait normal.
le probleme c'est comment  je peux fermer la DialogBox à l'exterieur de la fonction  DialogProc.
merci

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,858 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales