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

MFC Discussion :

sendmessage()


Sujet :

MFC

  1. #21
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    salut,
    les MFC sont mon environnement de travail de tous les jours,
    quand je dois faire un petit test tel que celui de mon dernier post il est plus naturel et souple pour moi d'avoir un petit boite de dialogue ou mdi bidon pour faire mon test,
    et suivant le contexte demande j'utilise ou pas les api 32
    ce qui explique 1 que j'utilise le scope :: en plus du fait qu'avec intellisens ça me permet de trouver la fonction rapidement sans Ambiguïtés sur celle des mfc.
    et 2 que j'utilise dans le cas present la CString et que ca ne me cause pas de pb .
    je ne fait pas de projet win32 pur et dans le cas ou je devrais utiliser des objets string alors j'utiliserai les stl avec l'objet string.
    parce que faire un projet wn32 et y inclure les mfc pour utiliser les ctring ça le fait pas ....

  2. #22
    Membre confirmé
    Inscrit en
    Janvier 2004
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 101
    Par défaut
    ok admettons qu'on utilise les MFC.
    Quand tu crée ton projet fo une boite de dialogue, une SDI ou MDI....
    Tu fais comment pour tester alors?
    Boite de dialogue et tu fai le test sur un clic de bouton par exemple ????
    Ma kestion est précise : comment créer un projet MFC sans boite de dialogue sans rien du tout par défaut , et qui fait l'équivalent d'une application Win32 ou console.
    Merci

  3. #23
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    oui sur un bouton ou si je suis presse (parce que je bosse en meme temps )direct dans le initdialog ou le oninitialupdate de la view si le test est du style de mon dernier post.

  4. #24
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    quand à un projet mfc qui fait rien du tout reponse eventuellement un projet console avec support des mfc .exactement le sample que je t'ai envoye par mail.
    sinon en graphique j'ai jamais fait.

  5. #25
    Membre confirmé
    Inscrit en
    Janvier 2004
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 101
    Par défaut
    une fois que l'on fait tourner ton programme comment trouver le handle de l'edit. Il change de valeur à chaque fois que l'on rouvre la fenetre a analyser??

  6. #26
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    est ce que la classe du controle de saisie est bien "edit" si oui la boucle permet de savoir combien de fois il faut iterer pour trouver le controle.
    et stopper la boucle pour utiliser le handle trouver pour faire enfin des postmessage...
    et je rajouterai d'ou l'utilite d'utiliser spy++ pour verifier la nature des ctrl en
    presence .

  7. #27
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    pour revenir au sujet si je suis sur que dans ma fenetre il n'y a qu'un edit et qu'il est bien de la classe window "Edit" on peut faire tout de suite:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    HWND GetHWndEditFromDlg(const char *szDlgName,int nFirstEdit=1)
    {
        HWND hWnd=::FindWindow(NULL,szDlgName);
       char szClassName[100];
       bool bFirst=true;
       int nCount=0;
       while(hWnd)
       {
          if(bFirst)   hWnd = ::GetWindow(hWnd, GW_CHILD);
          else         hWnd = ::GetWindow(hWnd, GW_HWNDNEXT);
          bFirst=false;
          if(hWnd)
          {
             ::GetClassName(hWnd,szClassName,sizeof(szClassName));
             if(!strcmp(szClassName,"Edit"))
             {
                  nCount++;
                 if(nCount==nFirstEdit) return hWnd;
             }
          }
       } 
       return NULL;
    }
    // utilisation 
    HWND hWndEdit=GetHWndEditFromDlg("Dialogue");
    if(hWndEdit)
    {
    // postmessage etc...
    }

  8. #28
    Membre confirmé
    Inscrit en
    Janvier 2004
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 101
    Par défaut
    je vais essayé ca. En fait je cherche a lister les editbox et avoir leur handle dans un tableau dans l'ordre de sorte a faire un programme adaptable a toute boite de dialogue.

Discussions similaires

  1. [DELPHI6][API] SendMessage
    Par Desraux dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 07/06/2005, 11h32
  2. DLL et SendMessage
    Par LordBob dans le forum MFC
    Réponses: 5
    Dernier message: 12/05/2005, 18h35
  3. Simuler saisie clavier SendMessage et WM_KEYDOWN
    Par VoLc0m dans le forum Windows
    Réponses: 8
    Dernier message: 11/05/2005, 15h31
  4. Réponses: 19
    Dernier message: 10/05/2005, 10h44
  5. SendMessage bloquant l'exécution du programme
    Par Drooxy dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 03/05/2003, 19h26

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