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

C++Builder Discussion :

Comment changer l'apparence d'une fenêtre


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Avatar de bandit boy
    Profil pro
    Inscrit en
    Février 2006
    Messages
    916
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 916
    Par défaut Comment changer l'apparence d'une fenêtre
    Bonjour,
    Je cherche à changer le style de ma fenêtre, je m'explique : lorsque le style du PC est défini comme style XP (fenêtre ronde et gros boutons ...), la taille de la zone utile est diminuée, hors j'en ai besoin à 100%.
    J'aurais souhaité savoir si quelqun connaissait une méthode pour changer le style de l'application, ou au pire du PC.

    Pour le moment, j'ai trouvé ca:
    http://msdn.microsoft.com/library/de.../xptheming.asp

    Mais apparament, cela nécessite l'utilisation de manifest (chose inconu pour moi) ou l'emploi de Uxtheme.h qui me génère 2 erreurs sur un typedef enum non initialisé.

    Des idées, des conseils, je suis preneur de tout ce qui peux faire avancer mon problème.
    Merci d'avance

  2. #2
    Membre expérimenté Avatar de damienlann
    Profil pro
    Étudiant
    Inscrit en
    Mai 2005
    Messages
    293
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2005
    Messages : 293
    Par défaut
    Si j'ai compris tu veux viré les bords de ton application...

    Sur une Form, tu as la propriété borderstyle, tu la mets a bsNone.
    Si c'est pas ca, alors je n'ai rien compris de ce que tu veux.

  3. #3
    Membre confirmé Avatar de Furlaz
    Homme Profil pro
    Responsable Qualité
    Inscrit en
    Mai 2006
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Qualité
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 210
    Par défaut
    Citation Envoyé par damienlann
    Si j'ai compris tu veux viré les bords de ton application...

    Sur une Form, tu as la propriété borderstyle, tu la mets a bsNone.
    Si c'est pas ca, alors je n'ai rien compris de ce que tu veux.
    Je ne pense pas que ce soit ce qu'il cherche

    Il veut changer TOUT le style de la fenetre et pas la bordure, enfin je pense.

    En tout cas désolé mais je ne vois pas du tout comment faire ca

  4. #4
    say
    say est déconnecté
    Membre Expert
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Par défaut
    euh...pour UxTheme.hpp..précise l'erreur, je pense pouvoir t'orienter

  5. #5
    Membre émérite
    Avatar de bandit boy
    Profil pro
    Inscrit en
    Février 2006
    Messages
    916
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 916
    Par défaut
    Merci de m'avoir répondu aussi nombreux.
    Je ne cherche pas à supprimer le bord, mais changer le style. Un peu à la manière du clic droit sur le bureau | propriétés, et sur l'onglet apparence changer le style XP en style windows classique au moins pour ma fenêtre.

    Pour l'erreur, la voici:
    Need an identifier to declare
    pour le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    typedef enum THEMESIZE
    {
        TS_MIN,             // minimum size
        TS_TRUE,            // size without stretching
        TS_DRAW,            // size that theme mgr will use to draw part
    };
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    typedef enum PROPERTYORIGIN
    {
        PO_STATE,           // property was found in the state section
        PO_PART,            // property was found in the part section
        PO_CLASS,           // property was found in the class section
        PO_GLOBAL,          // property was found in [globals] section
        PO_NOTFOUND         // property was not found
    };
    Le truc, c'est que je pense qu'il faut que le premier énuméré est une initialisation genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    typedef enum THEMESIZE
    {
        TS_MIN,=0           // minimum size
        TS_TRUE,            // size without stretching
        TS_DRAW,           // size that theme mgr will use to draw part
    };
    Mais je n'ai pas trop envie de modifier ce genre de chose dans les bibliothèques fournies. Mais si tu vois l'erreur à 100% say, je tente l'opération.

  6. #6
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Normalement si le premiere énuméré n'a pas de valeur il est par default a 0, tu met une valeur au premier si tu veut commencé sur une valeur autre que 0

  7. #7
    say
    say est déconnecté
    Membre Expert
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Par défaut
    Je m'en doutais...
    il faut juste ajouter des identifieurs ce qui revient à avoir ça dans le fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    typedef enum THEMESIZE
    {
        TS_MIN,             // minimum size
        TS_TRUE,            // size without stretching
        TS_DRAW,            // size that theme mgr will use to draw part
    }THEMESIZE;
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    typedef enum PROPERTYORIGIN
    {
        PO_STATE,           // property was found in the state section
        PO_PART,            // property was found in the part section
        PO_CLASS,           // property was found in the class section
        PO_GLOBAL,          // property was found in [globals] section
        PO_NOTFOUND         // property was not found
    }PROPERTYORIGIN;
    Voilou..ça devrait compiler.

    Bonne continuation
    Simon

  8. #8
    Membre émérite
    Avatar de bandit boy
    Profil pro
    Inscrit en
    Février 2006
    Messages
    916
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 916
    Par défaut
    Ca compile bien Merci !

    Par contre, j'ai une erreur sur ma ligne suivante où je souhaite récupérer le theme de mon application:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        wchar_t* AppName;
        HTHEME hTheme = NULL;
        Application->Name.WideChar(AppName,Application->Name.Length());
        hTheme = OpenThemeData(Application->Handle,AppName);
    l'erreur me donne:
    Unresolved external 'OpenThemeData' referenced from C:\...
    Qu'est ce que je fais de mal?

  9. #9
    Invité de passage
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Mars 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2011
    Messages : 1
    Par défaut
    utilier la pallette SUIPACK elle est riche de toutes les composants avec des théme extraordinnaire.
    essayer!

Discussions similaires

  1. Comment changer la couleur d'une fenêtre
    Par lucciana dans le forum Débuter
    Réponses: 2
    Dernier message: 24/02/2011, 22h10
  2. Réponses: 1
    Dernier message: 12/11/2007, 14h04
  3. comment changer le type d'une relation ?
    Par mitapi dans le forum Access
    Réponses: 5
    Dernier message: 21/05/2007, 10h29
  4. [FRAME] Comment changer la hauteur d'une frame ?
    Par iubito dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 20/10/2004, 10h50
  5. Changer l'icône d'une fenêtre à partir d'un .res
    Par henderson dans le forum C++Builder
    Réponses: 8
    Dernier message: 11/03/2003, 10h48

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