begin process at 2012 05 28 15:34:40
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Graphique

 > 

Changer la couleur du background d'une fenêtre client MDI en Win32


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Changer la couleur du background d'une fenêtre client MDI en Win32

mardi 6 avril 2004 à 14:22:24 | Changer la couleur du background d'une fenêtre client MDI en Win32

zibo3


Bonjour, j'ai un petit soucis, je dois changer la couleur de fond de mes fenêtres clients MDI au cours de mon application et la seule solution que j'ai trouvé pour l'instant c'est de créer une classe WNDCLASS pour chacune des couleurs différentes mais j'aurai aimé savoir s'il existait une autre solution plus pratique dans le style une fonction qui le fait à partir d'un handle de la fenêtre et de sa nouvelle couleur.

Je vous remercie d'avance et j'ai déjà regardé dans le super livre conseillé pour le win32 mais soit je sais pas lire soit il n'y a pas ce que je veux.

Merci de m'aider

Steve
mardi 6 avril 2004 à 15:18:50 | Re : Changer la couleur du background d'une fenêtre client MDI en Win32

ymca2003

tu peux essayer de traiter le message WM_ERASEBKGND et effacer le fond toi même (necéssite de sauvegarder pour chaque fenêtre que tu crée sa couleur de fond, que tu peut placer dans les données sup de la fenêtre par SetWindowLong(hWnd, GWL_USERDATA).
mardi 6 avril 2004 à 15:22:06 | Re : Changer la couleur du background d'une fenêtre client MDI en Win32

zibo3

Tu peux m'expiquer plus concretement ce qu'il faut faire.
Je dois faire quoi avec quelle fonction dans le message WM_ERASEBKGND.
Je ne vois pas quelles fonctions peuvent effacer le background et le recréé. Merci d'avance.
mardi 6 avril 2004 à 22:41:01 | Re : Changer la couleur du background d'une fenêtre client MDI en Win32

DeAtHCrAsH

Va voir je viens de deposer une source pour en reponse a ta question.
J'espere que cela va pouvoir t'aider...

A++ et bonne prog...

--=[DeAtH_-_CrAsH]=--
mercredi 7 avril 2004 à 09:10:41 | Re : Changer la couleur du background d'une fenêtre client MDI en Win32

zibo3

Merci pour ton aide mais moi je voulais changer la couleur de fond d'une fenêtre window que l'on crée avec CreateWindow et ce que tu me propose ne fonctionne pas.

De plus, si quelqu'un pouvait me dire comment changer la couleur de fond d'un champ edit créé par la fonction CreateWindow("edit",...);

Merci de votre aide.
mercredi 7 avril 2004 à 13:37:41 | Re : Changer la couleur du background d'une fenêtre client MDI en Win32

ymca2003

retour sur ma solition avec WM_ERASBKGND.

après avoir créer la fenêtre, sauvegarde la couleur que tu veux pour son fond :
SetWindowLong(hWnd, GWL_USERDATA, color);
si tu as da'autres données à associer à la fenêtre, utilise une structure allouée dynamiquement (tu poura libérer la mémoire en traitant WM_DESTROY ou WM_NCDESTROY).


ensuite, traite le message WM_ERASEBKGND et efface le fond de la fenêtre (dans la WndProc):
case WM_ERASEBKGND:
HDC hdc = (HDC)wParam;
RECT rcClient;
GetClientRect(hWnd, &rcClient);
COLORREF color = (COLORREF)GetWindowLong(hWnd, GWL_USERDATA);
HBRUSH hBrush = CreateSolidBrush(color);
FillRect(hdc, &rcClient, hBrush;
DeleteObject(hBrush);
return TRUE;

(renvoyer TRUE sans appeler DefWindowProc).

pour changer la couleur de fond de l'édit, il faut traiter WM_CTLCOLOREDIT et renvoyer le HBRUSH à utiliser pour le fond.


Cette discussion est classée dans : changer, couleur, fenêtre, mdi, win32


Répondre à ce message

Sujets en rapport avec ce message

Changer couleur par un clique [Win32 sans MFC] [ par jojomillenium ] Bonjour, j'aimerai pouvoir changer la couleur de fond d'un static, ou meme d'un element picture (mon but et juste d avoir un carré rempli d'une couleu changer couleur des ecritures dans la console [ par jimmypage64 ] Bonjour !!Je suis débutant en C++ et je voudrais savoir comment faire pour changer la couleur du texte dans mon programme w32 console application svp. API win32: Comment éviter le scintillement sur l'écran [ par rachid12450 ] salut à tousPour empêcher le scintillement on peut utiliser le double buefferingmais lorsqu'on a une fenêtre principale et une fenêtre enfant sur la s [Win32] Changer le texte d'un menu aprés création [ par goebish ] Bonjour,Je cherche à changer les textes d'un menu aprés sa création:voila comment je créé mon menu:[code]m_hMenu = ::CreateMenu();HMENU hMenuDrive = : changer l'icone d'une fenêtre SDL [ par zonebleue ] Bonjour,je voudrais savoir comment changer l'icône d'une fenêtre SDL ? merci d'avance (win32) Bordure [ par mogwai93 ] BonjourJ'aimerais changer le motif de bordure utilisé avec le flag WS_BORDERpar exemple :- changer la couleur- changer l'épaisseur- changer le style ( Comment faire pour changer l'icône de ma fenêtre au cours de son execution en programmation C API Win32 ? [ par ndubien ] Bonjour,Je cherche à savoir comment faire pour changer l'icône de ma fenêtre API Win32 au cours de son execution. J'ajoute une "contrainte" supplément changer la couleur d'un MSChart control en MFC Visual sudio [ par DEGLINGO76 ] Bonjour tout le monde ! Je cherche à modifier la couleur d'un "VtChChartType3dBar" suivant une valeur qui aura trois seuil (entre 0 et 10, 11 et 20, changer la couleur d'une image [ par jeny87 ] Bonjour à tous,Je suis nouvelle sur ce forum pour la simple raison que je viens de commencer mon projet info, je dois raliser un programme en C++ " ch win32 fenêtre pas déplaçable [ par snpier wolf ] salut à tous  enfaite je débute et j'ais deuxquestion à vous pouser.voila j'ai créé un bou de code et quand je le compile la fenêtre apparait mais il


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 : 2,059 sec (3)

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