begin process at 2012 05 30 12:15:32
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

GUI

 > 

Style Xp


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

Style Xp

jeudi 17 août 2006 à 14:28:44 | Style Xp

yoyo269

Membre Club
Salut à tous,

je suis actuellement sous Dev-C++ 4.9.9.2 et je souhaiterais qu'un de mes programmes ait le style XP.
J'arrive à obtenir le style XP sans trop de souci sauf que (et oui ya un souci) certains de mes contrôles (static, radio, checkbox et edit)
ont quelques différences avec le style que l'on retrouve dans d'autres programmes sous windows XP.
Pour les statis, radios et checkboxes, c'est la couleur de fond qui cloche. En traitant le message WM_CTLCOLORSTATIC j'arrive à obtenir la bonne couleur de fond mais uniquement pur les statics, pas pour les radios et checkboxes.
En ce qui concerne les edits, lorsqu'elles ont le style ES_READONLY, il y a comme un contour noir qui apparait sur le contrôle.
Pas particulièrement esthétique donc.

Si vous avez une suggestion ou que vous avez rencontré le même problème, répondez moi.

Précision : mes contrôles se trouvent sur un tab control.

YOYO, @+.

"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"

jeudi 17 août 2006 à 18:30:31 | Re : Style Xp

Joky

Membre Club
http://www.cppfrance.com/codes/AJOUTEZ-STYLES-WINDOWS-XP-VOTRE-PROGRAMME_11362.aspx

Pour Yoyo ;)

ULARGE_INTEGERJokyQi=QI("Joky"

jeudi 17 août 2006 à 22:34:25 | Re : Style Xp

vecchio56

Administrateur CodeS-SourceS
Pour les radios et checkboxes tu peux essayer WM_CTLCOLORBTN, mais je crains que ca ne marche pas non plus
On pourrais avoir une petite capture (ou le code si tu veux bien) pour voir ce qui cloche?

_____________________________________
Un éditeur de ressources gratuit pour Windows

vendredi 18 août 2006 à 08:46:57 | Re : Style Xp

yoyo269

Membre Club
Merci de m'avoir répondu, c'est sympa de votre part.

Joky -> avec la source de vecchio56, ça me donne exactement la même chose qu'actuellement.
vecchio56 -> J'ai essayé avec WM_CTLCOLORBTN mais sans succès. Comme son nom l'indique ça ne fonctionne que pour les boutons.
Voilà des captures pour vous aider à mieux cibler :

capture1   capture2

YOYO, @+.

"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"

vendredi 18 août 2006 à 08:53:29 | Re : Style Xp

yoyo269

Membre Club

Désolé pour les images, j'avais mis un lien local, forcément...

capture1    capture2.bmp

YOYO, @+.

"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"

vendredi 18 août 2006 à 10:15:10 | Re : Style Xp

vecchio56

Administrateur CodeS-SourceS
Pour info les radios et les checkboxes sont des boutons avec des styles particuliers
J'ai fait un projet rapidement pour voir ce que ca donne, et je n'ai pas ce type de problème. Tu fais certainement quelque chose de spécial dans ton programme, non?

_____________________________________
Un éditeur de ressources gratuit pour Windows

vendredi 18 août 2006 à 10:51:55 | Re : Style Xp

yoyo269

Membre Club
Comme je l'ai dit au début, la particularité est que ces composants sont sur un Tab Control.

YOYO, @+.

"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"

vendredi 18 août 2006 à 11:20:00 | Re : Style Xp

yoyo269

Membre Club
Réponse acceptée !
On dirait que j'ai trouvé quelque chose. Je me suis rappelé d'une vieille feinte de Sioux quand je faisais du VB6, avec un problème similaire.
L'astuce était de mettre ses composants dans un composant Image (de mémoire). Donc pour faire l'équivalent j'ai rajouté un static en fond et là...Ô miracle !!! Les statics, radios et checkboxes s'affichent normalement sans avoir besoin de traiter le message WM_CTLCOLORSTATIC.
Il restait juste le problème avec mes edits.
Pour y arriver, j'ai créé mes edits de sorte que leur parent soit le static en fond. Et là...Ô re-miracle !!!
Par contre avec cette méthode, pour pouvoir recevoir les messages envoyés par les edits, il faut penser à sous classer le static de fond.
Et voilou !!!

YOYO, @+.

"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"

vendredi 18 août 2006 à 11:35:51 | Re : Style Xp

vecchio56

Administrateur CodeS-SourceS
OK j'avais pas vu
Effectivement j'ai le même problème, mais le WM_CTLCOLORSTATIC résoud tous les problèmes il me semble.
Le seul truc c'est que je n'arrive pas à récupérer la couleur de fond de tabControl (GetClassLong(htab, GCL_HBRBACKGROUND) ne me renvoie pas un HBRUSH valide)

L'idée était de faire ca:
    case WM_CTLCOLORSTATIC:
      {
        LOGBRUSH lb;
        HBRUSH hbr = (HBRUSH)GetClassLong(htab, GCL_HBRBACKGROUND);
        GetObject(hbr, sizeof lb, &lb);
        SetBkColor((HDC)wParam, lb.lbColor);
        return (LRESULT)hbr;
      }
      break;


Ca marche en codant en dur la couleur de fond:
#define TAB_BACKGROUND RGB(250, 251, 251)
HBRUSH hbrTab;
...
    case WM_CTLCOLORSTATIC:
      SetBkColor((HDC)wParam, TAB_BACKGROUND);
      return (LRESULT)hbrTab;
et dans le WinMain:
hbrTab = CreateSolidBrush(TAB_BACKGROUND);

Le problème est que TAB_BACKGROUND peut certainement changer selon le style choisi. Il faudrait voir si la couleur apparait dans un index de GetSysColor

_____________________________________
Un éditeur de ressources gratuit pour Windows

vendredi 18 août 2006 à 11:37:29 | Re : Style Xp

vecchio56

Administrateur CodeS-SourceS
Bon d'accord j'ai un petit peu de retard :)
J'ai pas compris comment tu as fait par contre

_____________________________________
Un éditeur de ressources gratuit pour Windows


1 2

Cette discussion est classée dans : arrive, style, xp, obtenir, programmes


Répondre à ce message

Sujets en rapport avec ce message

Style XP avec la MFC [ par Dodgy ] Bonjour,je suis novice en programmation objet. Je recherche actuellement un moyen pour que les applications que je cree en MFC avec VC++6 aient le sty Changer un Visual Style sous XP [ par kemenaran ] Voila, je cherche un API ou une commande VB6 pour charger un thème visuel (fichier .msstyle) sans passer par "Propriétés de l'Affichage". Je connais l Richedits et style XP [ par Nebula ] Bonjour, Encore une contrariété avec les RichEdits : ils ne prennent pas l'apparence XP, comme les edits normaux. Dixit MSDN : "To use visual styles DLL - style XP sous IE et Outlook [ par latournd ] Bonjour, Nous avons développé une DLL windows avec une interface graphique à l'aide des librairies MFC.Le style de la DLL est bien conforme au style X Style XP [ par Crazy_Joe ] Bonjour, J'ai cherché un peu partout dans le forum pensant que ça aurait été une question fréquente mais non, je n'ai rien trouvé. J'aimerais appliqu Problème d'onglets avec le style XP [ par MasterShadows ] Salut à tous,voilà le problème, je suis en train d'écrire un p'tit programme à base d'onglets, alors voilà ce que j'ai fait :En prenant l'éditeur de r port // sous windows XP [ par baptor ] RE salut à tous,J'avance à petit pas dans l'utilisation du port parallele.(J'essay tout simplement d'allumer des dels pour visualiser les sorties du p Base64 de Unrealircd [ par logant83 ] Bonsoir, voila enfaite je suis entrain de faire un services IRC en socket, mais voila le probléme c'est que je n'arrive pas à obtenir le hostname (L'a Obtenir l'IP d'une connexion réseaux sur XP [ par jbrek ] Obtenir l'IP d'une connexion réseaux sur XP sous VC++ ?Est-ce possible ? Y a plusieurs manières ? Obtenir l'IP d'une connexion réseaux sur XP [ par jbrek ] Obtenir l'IP d'une connexion réseaux sur XP sous VC++ ?Est-ce possible ? Y a plusieurs manières ?


Nos sponsors


Sondage...

Comparez les prix

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 : 3,572 sec (4)

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