Utilisateur anonyme
-
19 juil. 2003 à 00:23
Utilisateur anonyme -
19 juil. 2003 à 12:21
Bonsoir,
Après avoir tater du Delphi pendant un an, j'ai du mal à me faire à ce..... "truc" ! (***se dit qu'après cette critique envers VC++ personne ne va plus lui répondre***...)
Je voudrais mettre un TreeView dans ma fenêtre mais ça ne marche pas (comme le RichEdit d'ailleurs), cette fenêtre est une Dialog et je passe par CreateDialog() pour la créer, les objets compliqués sont-ils interdits dans les dialogs ?
Quel Create je dois utiliser pour pouvoir mettre un tel objet ? (quel type de fenêtre tant qu'à faire...)
(projet en win32, sans MFC mais je peux faire avec si besoin)
En fait j'ai fait une classe pour mon serveur, je dois lui donner une GUI, mais ce n'est vraiment pas aussi simple que sur les 4 autres soft de développement (Delphi, les 2 Builder et VB).
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 19 juil. 2003 à 00:52
sans MFC, et bien continue.
Si pour commencer ta dialogbox est fenetre principale du prog, fait la avec editeur de ressources et affiche la avec DialogBoxParam(...). On peut tout mettre sur une dialogbox, suffit d'initialiser certaines dll si besoin, ex InitCommonControls(). Consulte les sources publiees, on les permet pour cela, tu verras des tas d'exemples, toutes faites sur VS en ce qui me concerne.
BruNews, ciao...
Oui j'ai déjà regardé quelques sources et j'y ai vu le InitCommonControls(), malheureusement il vient de windows.h qui ne fait pas bon ménage avec mon winsock2.h, je n'arrive pas à les mettre dans le bon ordre et aux bons endroits pour que ça compile.
Ma dialogBox est effectivement destinée à être ma fenêtre principale (mais pas l'unique fenêtre), pour l'instant elle est destinée à me servir à contrôler ce qui se passe sur le serveur donc je n'ai besoin que de l'afficheur texte qui à défaut d'un richEdit sera un edit tout court (ce qui m'est suffisant) puisqu'avec l'edit ça marche sans problème.
Par contre je vais avoir besoin de mon treeView dans quelques jours, je viens d'essayer le DialogBoxParam(..) ça me fait pareil, il va donc falloir que je règle mon problème de windows.h.
Voici la structure de mon projet :
- Serveur.cpp : contient WinMain(..)
#include "CNetworkServer.h" // le header de ma classe serveur
#include "resource.h"
Si je mets #include <windows.h> dans Server.cpp (là où je mets le InitCommonControls() ) ça coince avec le winsock2.h (blabla WSAxxxxx redefinition; different linkage). Comment je peux remédier à ça ?
voila ce qui DOIT etre en haut de tout module, le reste TOUJOURS a suivre. Si prob de redefinition cherche d'ou il vient mais tiens toi a cette regle.
BruNews, ciao...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Ah merci pour l'indication ça passe nickel pour ce qui est du winsock il ne bronche plus (grâce au define), par contre le initCtrl il ne veut rien savoir -> undeclared identifier
J'ai un peu fouillé MSDN et il faut effectivement faire le init pour avoir accés aux treeViews, et apparemment aucun include à faire pour pouvoir faire le init, je ne comprends pas pourquoi il n'en veut pas.
Suite :
Enfin trouvé (hum) : #include <commctrl.h> (l'avais hier mais à cause du pb windows.h ...)
Mais erreur de link LNK2001... grrrr
Aller méthode qui marche souvent, direction google, recherche sur initcommoncontrol et lnk2001, résultat : il faut mettre la lib comctl32.lib dans le projet si on n'a pas mis les MFC.
Et ça marche :)).
Et bah j'ay suis quand même arrivé, merci BruNews.