begin process at 2012 05 29 10:18:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Graphique

 > 

Ecrire en couleur sans changer le fond [dialogbox]


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

Ecrire en couleur sans changer le fond [dialogbox]

mercredi 24 novembre 2004 à 23:43:38 | Ecrire en couleur sans changer le fond [dialogbox]

Gendal67


bsoir all! :-)

Voila, j'aimerais bcp changer le fond d'une dialogbox (ça, ça marche sans pb), mais j'aimerai ensuite rajouter des controles tels que des LTEXT etc...le pb c'est que ces LTEXT apparaissent ecrit en noir sur fond gris, comme d'habitude, ce qui gache le fond de la dialogbox...et la fenetre est moche.....qqun sait cmt faire pr contourner le pb ? merci d'avance!

Gendal67, Dev-C++ 4.9.9.0, J'adore cppfrance!! :-))
jeudi 25 novembre 2004 à 00:13:29 | Re : Ecrire en couleur sans changer le fond [dialogbox]

BruNews

Administrateur CodeS-SourceS
Encore cette question...
http://www.cppfrance.com/code.aspx?id=10501

Suffit de traiter messages WM_CTLCOLORSTATIC et autres de sa categorie.

ciao...
BruNews, MVP VC++
jeudi 25 novembre 2004 à 00:16:04 | Re : Ecrire en couleur sans changer le fond [dialogbox]

Gendal67

Merci bcp pr ton aide :-))


Gendal67, Dev-C++ 4.9.9.0, J'adore cppfrance!! :-))
jeudi 25 novembre 2004 à 00:32:37 | Re : Ecrire en couleur sans changer le fond [dialogbox]

Gendal67


Ecoute, BruNews, je suis désolé...je ne m'y retrouve vraiment pas dans ton appli :( ac tous ces boutons, ces scrollbars....je en sais même pas où chercher...:(

Gendal67, Dev-C++ 4.9.9.0, J'adore cppfrance!! :-))
jeudi 25 novembre 2004 à 02:31:58 | Re : Ecrire en couleur sans changer le fond [dialogbox]

racpp

Administrateur CodeS-SourceS
Salut,
Voici un petit exemple pour rendre le fond d'un STATIC transparent:

case WM_CTLCOLORSTATIC:
if ((HWND)lParam==hStatic)
{
SetBkMode((HDC)wParam, TRANSPARENT);
return (BOOL)GetStockObject(NULL_BRUSH);
}
return 0;

hStatic est le handle du STATIC. Tu peux le remplacer par GetDlgItem(hDlg,IDC_STATIC).....
jeudi 25 novembre 2004 à 17:29:12 | Re : Ecrire en couleur sans changer le fond [dialogbox]

Gendal67


Oui merci, mais en quoi c'est sensé m'aider ?

Gendal67, Dev-C++ 4.9.9.0, J'adore cppfrance!! :-))
jeudi 25 novembre 2004 à 22:37:05 | Re : Ecrire en couleur sans changer le fond [dialogbox]

racpp

Administrateur CodeS-SourceS
Réponse acceptée !
Salut,
Je pense que ça correspond exactement à ce que tu cherches. En fait le LTEXT est un STATIC. On le manipule donc exatement comme on fait avec les STATICs. Puisque tu connais l'identificateur de ton LTEXT, IDC_STATIC par exemple, tu peux le mettre comme paramètre à une fonction de manipulation des STATICs. Exemples:

//pour récupérer le handle du LTEXT:
HWND hLtext=GetDlgItem(hDlg,IDC_STATIC);
//pour écrire dans le LTEXT:
SetWindowText(hLtext,"Bonjour");
//ou:
SetDlgItemText(hDlg,IDC_STATIC,"Bonjour");
//etc...

hDlg étant le handle de la boite de dialogue et IDC_STATIC l'identificateur de ton LTEXT.
Pour la transparence de ton LTEXT il te suffit de copier l'exemple que je t'ai proposé et le coller dans la procédure de ta boite de dialogue. Voici un autre exemple pour gérer plusieurs LTEXTs:

case WM_CTLCOLORSTATIC:
// 1er LTEXT:
if ((HWND)lParam==GetDlgItem(hDlg,IDC_STATIC1))
{
SetBkMode((HDC)wParam, TRANSPARENT);
return (BOOL)GetStockObject(NULL_BRUSH);
}
// 2eme LTEXT:
if ((HWND)lParam==GetDlgItem(hDlg,IDC_STATIC2))
{
SetBkMode((HDC)wParam, TRANSPARENT);
return (BOOL)GetStockObject(NULL_BRUSH);
}
// 3eme LTEXT:
// if .....
return 0;

Ainsi, au lancement de la boite de dialogue tous tes LTEXTs seront totalement transparents et les petits fonds gris disparaitront.
Bonne programmation.
jeudi 25 novembre 2004 à 22:38:57 | Re : Ecrire en couleur sans changer le fond [dialogbox]

Gendal67


Oui, oui, merci! C'est exactement ça!! Le "truc", c'est que bruNews me l'as expliqué il ya qq heures déja :p
Merci quand même de t'etre donner du mal pr m'aider :-)

Gendal67, Dev-C++ 4.9.9.0, J'adore cppfrance!! :-))
vendredi 26 novembre 2004 à 17:16:22 | Re : Ecrire en couleur sans changer le fond [dialogbox]

eRoZion

Membre Club
Et puis c'est pas perdu pour tout le monde. :)


eRoZion


Cette discussion est classée dans : pb, changer, ecrire, fond, dialogbox


Répondre à ce message

Sujets en rapport avec ce message

ListCtrl couleur de fond des cases [ par gus2647 ] Bonjour, Je viens de creer une listctrl et j aimerais changer le bkgcolor de la case en fonction de la valeur quelle contient (vert si positif, rouge couleur de fond d'une DialogBox [ par glipper ] Bonjour,Je cherche un moyen de changer la couleur de fond d'une dialogbox simplement ! A defaut d'une solution simple, serait-il possible d'avoir une Pb de fond avec des boites amodale/modeless... [ par magic_Nono ] Comment faire qu'une boite de dialogue modeless s'affiche sous sa fenetre propriétaire qd on clic sur la fenetre propriérairePb de fond avec des boite couleur de fond boite de dialogue [ par dambeaufort ] Bonjour, Pourriez vous m'indiquer une méthode afin de changer la couleur de fond d'une boite de dialog. Je travaille en MFC sous visual C++.Si vous po Pb - Concatenation de chaines de bits [ par TigreVert ] Bonjour,Je dois realiser un projet de compression de huffman (je sais ya deja des exemples sur ce site).Le pb du jour ... j'ai recupéré les codes de h changer contenu DialogBox [ par glipper ] BonjourJe possède deux dialogBox de tailles identiques, et je voudrais pouvoir passer de l'une à l'autre sans changer de fenetre (car lorsque je ferme changer la couleur du fond de la view [ par glaive ] je veux changer la couleur de fond de la view, je travaille en MFCet je n'est pas une base dans les API de windowsmerci d'avanceglaive l'epée de la ju Changement de toutes les couleurs dans une appli en MFC [ par obby ] Salut,  Je voudrai changer toutes les couleurs dans mon application. J'ai déjà réussi à changer la couleur de fond d'une boite de dialogue mais j'aim Changer la couleur de fond d'une appli [ par Toutoun13 ] Bonjour, J'ai créé une appli de base avec VC++. Par defaut le fond de la fenetre est blanc. Est il possible de modifier ce fond, j'aimerais mettre du [C / Win32] Listbox en ownerdraw : Comment changer les couleurs (fond et texte) des items [ par Inekman ] Bonsoir à tous, Je cherche déseprérément à changer les couleurs des items d'une listbox (blanc sur fond rouge par exemple). J'ai trouvé pêle-mêle des


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

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,437 sec (4)

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