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 :

API Windows différence entre fonctions simple EX et A


Sujet :

Windows

  1. #1
    Membre chevronné Avatar de Astraya
    Homme Profil pro
    Consommateur de café
    Inscrit en
    Mai 2007
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Consommateur de café
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 043
    Points : 2 234
    Points
    2 234
    Par défaut API Windows différence entre fonctions simple EX et A
    Bonjour à tous!
    Voilà je poste ici afin de trouver une lumière qui pourrait me dire qu'elle est la différence entre les fonctions de l'API windows qui finissent pas EX et A?
    comme CreateWindow, CreateWindowEx et CreateWindowA ou bien même WNDCLASS WNDCLASSEX et WNDCLASSA etc... $

    Merci de votre aide!
    Homer J. Simpson


  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    La différence entre CreateWindow() et CreateWindowEx() est complètement orthogonale à celle entre CreateWindow() et CreateWindowA().

    • CreateWindowEx() est une version "étendue" de CreateWindow(), qui propose un paramètre de plus.
      • Tu trouveras beaucoup de fonctions suivant le même modèle. Pour certaines, la version non-ex est carrément déconseillée par Microsoft, notamment RegOpenKey().
    • Quant à CreateWindowA(), c'est plus compliqué, et c'est lié à la possibilité, sous Windows, de compiler une version unicode ou une version non-unicode du programme à partir du même code source. En vérité, il n'existe pas vraiment de fonction CreateWindow(): Il n'existe que ses deux versions, unicode ou non: CreateWindowA() et CreateWindowW(). CreateWindow n'est qu'une macro pointant sur l'une de ces deux fonctions, selon les options passées au préprocesseur.
      • De même, CreateWindowEx est une macro pointant sur CreateWindowExA() ou CreateWindowExW().
      • C'est également le cas pour les types TCHAR, LPTSTR, LPCTSTR, et la macro TEXT() ou _T(), qui changent de signification selon qu'on compile en unicode ou non.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 340
    Points : 177
    Points
    177
    Par défaut
    a propos de CreateWindowEx, est-il possible d'utiliser CreateWindow, puis la fonction SetWindowLong avec un style etendu (par exemple GWL_EXSTYLE et WS_EX_LAYERED), ou bien faut-il utiliser CreateWindowEx des le debut ?
    L'Opus attire les Prélats

  4. #4
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    En théorie, tu dois pouvoir utiliser CreateWindow() + SetWindowLong()...
    Mais ça dépend. Il me semble qu'il y a certains styles qui ne peuvent être changés une fois la fenêtre créée (et WS_EX_LAYERED est peut-être bien l'un de ceux-là...)
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ce qui fait la différence entre un simple projet et un bon projet
    Par TheCaribouX dans le forum Débats sur le développement - Le Best Of
    Réponses: 84
    Dernier message: 23/06/2009, 17h58
  2. Réponses: 0
    Dernier message: 14/03/2008, 00h16
  3. différence entre fonction() et fonction(void)
    Par ram-0000 dans le forum C++
    Réponses: 8
    Dernier message: 07/11/2007, 17h31
  4. Quelle différence entre "réel simple" et "déc
    Par pyxosledisciple dans le forum Access
    Réponses: 2
    Dernier message: 11/01/2006, 11h51
  5. Réponses: 6
    Dernier message: 31/08/2005, 17h27

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