IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

[APIWIN32] Imcompréhension par rapport a la création de contrôles.


Sujet :

Windows

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 2
    Par défaut [APIWIN32] Imcompréhension par rapport a la création de contrôles.
    Bonjour,

    Dans l'optique de développer une application exclusivement pour Windows, j'ai décidé, pour ouvrir des fenêtres, de me lancer dans le maniement de fenêtres grace à l'API*Win32.

    J'ai donc réussi, au bout d'une après midi, à afficher correctement une fenêtre avec le seul contrôle qu'il me fallait: du texte.

    Pour inclure le texte, j'ai utilisé la fonction CreateWindowEx(WS_EX_WINDOWEDGE, "static", "Mon texte", WS_CHILD | WS_VISIBLE, 304, 79, 85, 18, HWNDFENETREPRINCIPALE, GetModuleHandle(NULL), NULL );

    Jusque la tout va bien, mon texte est bien affiché dans la fenêtre à une exception près: le texte est affiché sur un fond gris assez laid.

    Attention: il s'agit bien de l'arrière plan du texte, et non celui de la fenetre elle même, qui, elle, est déja définie en bleu et fonctionne.

    Mon problème, c'est que je souhaiterais définir une nouvelle couleur pour cette arrière plan de texte. J'ai essayé prêt d'une vingtaine de solutions ( SetBkColor, SetTextColor ... ) c'est impossible.

    En y regardant de plus pr_s, il semblerait que cette couleur est définie dans la CLASSE "static". Je me demande donc si il ne suffirait pas d'éditer cette classe en utilisant une fonction spécifique ?

    Je sèche vraiment pour le coup.*J'espère qu'une solution existe.

    Bonne journée et merci d'avance.

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Citation Envoyé par bytes Voir le message
    En y regardant de plus pr_s, il semblerait que cette couleur est définie dans la CLASSE "static".
    C'est tout à fait cela

    Citation Envoyé par bytes Voir le message
    Je me demande donc si il ne suffirait pas d'éditer cette classe en utilisant une fonction spécifique ?
    Ce n'est pas possible, cette classe et toute la mécanique qui va avec est fournie uniquement en DLL, donc pas de modification possible.

    Par contre, Microsoft dans sa grande bonté a prévu quelque chose pour les gens comme toi qui veulent modifier la couleur de fond.

    Le contrôle static envoie le message WM_CTLCOLORSTATIC à son parent pour autoriser le parent à modifier la couleur de fond du contrôle. C'est ce message qu'il faut intercepter dans ton parent et lui spécifier une nouvelle couleur.

    Un peu de lecture ici : http://melem.developpez.com/win32/wi...ontroles_perso
    Un petit exemple ici (pas facile à lire) [ame="http://www.codeguru.com/forum/showthread.php?t=372355"]remove the background of static text - CodeGuru Forums[/ame]
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 2
    Par défaut Solution !
    Salut,

    J'ai regardé tes liens mais malheuresement c'était du C++ et je n'ai pas encore appris ce language.

    En surfant sur tes sous liens, ca ne m'a pas empêché de trouver une autre solution en C, parfaitement fonctionnelle.

    Merci encore.
    ++

Discussions similaires

  1. Réponses: 1
    Dernier message: 08/03/2010, 14h01
  2. Création d'un contexte par rapport à un gpu
    Par JBond007 dans le forum OpenGL
    Réponses: 2
    Dernier message: 10/09/2009, 08h55
  3. Réponses: 5
    Dernier message: 01/04/2008, 21h58
  4. Réponses: 8
    Dernier message: 23/11/2007, 17h46
  5. Réponses: 6
    Dernier message: 13/05/2007, 23h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo