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 :

(Dotnet) Windowproc et SendMessage


Sujet :

MFC

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    101
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 101
    Par d�faut (Dotnet) Windowproc et SendMessage
    salut,

    je voudrais avoir de l'aide car je suis vraiment perdu, j'ai essay� pleins de choses mais rien ne va!!!
    j'ai pens� � une solution mais il me manque des donn�es(?): dans le fichier.h

    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
     
    LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam )
    		{
    //je voudrais récuperer les données du buf pour les placer dans la textbox			
    			switch ( lParam )
    			{
    			case (?) :
     
    			 textBox1->Text = (?);
    				 break;
     
    			}
    			;
    		return DefWindowProc(hf,uMsg,wParam,lParam);
    		}	
    }
    dans le .cpp:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    SendMessage(hf,NULL, NULL ,LPARAM(buf));
    // hf est obtenue avec HWND hf = GetForegroundWindow();cette fonction est plac�e dans le fichier.h mais peut-�tre que cela ne donne pas le handle de mon formulaire

    ]

    si vous pouvez me conseiller, merci!


  2. #2
    mat.M
    Invit�(e)
    Par d�faut
    C'est incompr�hensible ; peux-tu faire plus clair et explicite ?
    C'est avec .NET ? On n'utilise pas de proc�dure de messages avec .NET ni fonctions CALLBACK , cela n'existe pas .

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    101
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 101
    Par d�faut
    salut,

    je voudrais avoir de l'aide car je suis vraiment perdu, j'ai essay� pleins de choses mais rien ne va!!!
    j'ai pens� � une solution mais il me manque des donn�es(?): dans le fichier.h

    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
     
    public: System::Void WndProc(LP)  
    { 
    //je voudrais récuperer les données du buf pour les placer dans la textbox 
               switch ( lParam ) 
               { 
                    case (?) : 
     
                     textBox1->Text = (?); 
                     break; 
     
               } 
     
    Form::WndProc(m);
    }
    dans le fichier .cpp:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    SendMessage(hf,NULL, NULL ,LPARAM(buf));
    // hf est obtenue avec HWND hf = GetForegroundWindow();cette fonction est plac�e dans le fichier.h mais peut-�tre que cela ne donne pas le handle de mon formulaire

    j' esp�re que c'est plus claire


  4. #4
    mat.M
    Invit�(e)
    Par d�faut
    stgi02 je peux pas te r�pondre si tu ne r�ponds pas clairement � tes questions.
    En plus tu as fais un copier-coller de ta premiere question !

    LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam )

    C'est pour win32 !!! pas pour NET !!!
    Il faut le dire en quelle langue ? En Chinois ?

    Que veux tu faire pr�cis�ment ?

  5. #5
    Membre confirm�
    Profil pro
    Inscrit en
    D�cembre 2005
    Messages
    227
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2005
    Messages : 227
    Par d�faut
    Moi non plus j'ai rien compris...
    Et puis je te conseille d'utiliser les balises code pour plus de clart�.

    PS: si tu reformule ta question nous pourront peut �tre te r�pondre.

  6. #6
    Membre confirm�
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    101
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 101
    Par d�faut
    bonsoir si vous voulez m'aider ,vous pouvez regader dans le message que j' ai post� le 10/04 le titre est :
    (DotNet c++) envoi de donn�es dans une textbox
    vous comprendriez mieux mon probl�me
    merci

  7. #7
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    alors, continue � poster � la suite de ton ancien thread
    et utilise la balise code

  8. #8
    Membre confirm�
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    101
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 101
    Par d�faut
    je suis tjs sur le m�me probl�me car mais cette semaine il n'y a personne qui peut m'aider l� ou je fais mon stage..
    je chercher de mon c�t� j' explique mon probl�me
    dans le fichier.cpp est que je dois appeller le fichier .h?
    dans le fichier .cpp
    j' ai d�finie
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    #define WM_MESSAGE_TEXT (WM USER+1);
    //aprés la fonction ReadFile j'ai fais
    SendMessage(HWND_BROADCAST,WM_MESSAGE_TEXT,NULL,LPARAM(buf2));
    //HWND_BROADCAST ,comme ça je suis sûr que le formulaire est affecté
    puis dans le fichier.h correspondant au formulaire,textbox,...est qu'il faut inclure le fichier.cpp??
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    #define WM_MESSAGE_TEXT (WM_USER+1)
     
    public:Systeme::Void WndProc (Message* m)
    {
                switch (m->Msg)
                 {
                      case  WM_MESSAGE_TEXT:
                 // je veux récuperer les données contenues dans le buf
                  break;
                 }
                 Form::WndProc (m);
    }
    ce que je veux c'est quand je r�ception une donn�e SendMessage doit envoyer les donn�es dans le fichier .h pour que je puisse les traiter

    merci bcp de bien vouloir m'aider , c'est mon seul espoir

  9. #9
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    Franchement, je vois pas pourquoi tu t'obstines � faire comme ca

    Il y a bien un endroit o� tu d�clares ta deuxieme form et o� tu provoques son affichage ?
    genre un
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
                     form2 * myForm2 = new form2();
    				 myForm2->Show();
    Et bien � ce moment l�, tu fais un
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    myForm2->TextBox1->Text = "ton texte"
    Ne cherche pas plus compliqu�

  10. #10
    Membre confirm�
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    101
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 101
    Par d�faut
    mon formulaire et ma textbox se trouve dans Form1
    mais est ce que je peux y acceder du fichier .cpp ,
    ca serait moins compliqu�

    merci

  11. #11
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    bon ... j'ai assez donn�,

    je te laisse avec cet exemple : http://nico-pyright.developpez.com/exempleBidon.rar

  12. #12
    mat.M
    Invit�(e)
    Par d�faut
    Est-ce que tu peux r�pondre pr�cis�ment aux questions ?

    *quel OS ?
    *quel outil de d�veloppement ?
    *quelles technologies ? MFC , .NET , win32 ?
    *pour quel type de projet ?

    Merci.
    C'est dur apparemment de demander de la pr�cision aux gens.

    Apparemment tu n'as toujours pas compris que les fonctions CALLBACK comme en win32 cela ne marche pas avec .NET

  13. #13
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    Citation Envoy� par mat.M
    Apparemment tu n'as toujours pas compris que les fonctions CALLBACK comme en win32 cela ne marche pas avec .NET
    Disons que ca marche, mais c'est en fait un relai. Tu recois bien des messages syst�mes du genre WM_SETFOCUS, mais pas un message perso.

  14. #14
    Membre confirm�
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    101
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 101
    Par d�faut
    salut ,
    je programme sur visual studio .net 2003 en c++
    mon projet � pour but de r�aliser un genre d'Hyper terminal
    la seule chose qui me manques c'est de pouvoir mettre les donn�es re�ues dans la textbox

  15. #15
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    t'as regard� mon projet d'exemple ?

  16. #16
    Membre confirm�
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    101
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 101
    Par d�faut
    oui j'ai regard� mais �a je sais le faire mais dans mon cas je voudrai atteindre la textbox du fichier .cpp qui n'a rien avoir avec le Form.h
    pour mettre les donn�es
    j'ai essay� mais �a pose probl�me

  17. #17
    mat.M
    Invit�(e)
    Par d�faut
    Citation Envoy� par stgi02
    salut ,
    je programme sur visual studio .net 2003 en c++
    mon projet � pour but de r�aliser un genre d'Hyper terminal
    la seule chose qui me manques c'est de pouvoir mettre les donn�es re�ues dans la textbox
    Ok merci pour la r�ponse.
    Et il n'y pas pas un composant .NET tout fait pouvant faire cela ?


    Citation Envoy� par nico-pyright(c)
    Citation Envoy� par mat.M
    Apparemment tu n'as toujours pas compris que les fonctions CALLBACK comme en win32 cela ne marche pas avec .NET
    Disons que ca marche, mais c'est en fait un relai. Tu recois bien des messages syst�mes du genre WM_SETFOCUS, mais pas un message perso.
    Oui mais c'est une solution de bricolage un peu parce que pour .NET il faut du code "managed" en principe ( je sais qu'on peut mixer les 2 code natif et code "managed" )
    Ce que je ne comprends pas c'est pourquoi l'auteur du message a besoin absolument d'appeler une fonction CALLBACK �tant donn� que sous .NET c'est totalement transparent

  18. #18
    mat.M
    Invit�(e)
    Par d�faut
    Eh non �a ne marche pas comme cela !
    En win32 on ne peut pas faire TextBox1->Text
    Il faut utiliser GetDlgItem pour obttenir une r�f�rence sur la boite de texte et la remplir avec SetWindowText !
    Auparavant il faut le Handle de textbox1 ; Obtenir le Handle de textbox1 puis afficher avec SetWindowText

  19. #19
    Membre confirm�
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    101
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 101
    Par d�faut
    salut est ce que tu peux m'expliquer plus clairement
    je t'explique mon prog:
    la textbox1 se trouve dans le fichier Form1.h
    l� dedans j'effectue la fonction:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    IntPtr ;
    IntPtr get_Handle(); //pour récupérer le handle de la textbox
    j'ai un autre fichier qui s'appelle serial.cpp
    c'est l� que j'ai mis le code pour l'�mision et la r�ception des donn�es sur le port s�rie
    pour r�cuperer les donn�es j'ai effectu� la fonction :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    ReadFile(hComm,&buf,dwtoRead,&dwRead,&ov);
    //cette fonction fonctionne car je récupère bien les données mais c'est ici que je bloque je ne sais pas quoi faire pour envoyer les données dans la textbox1
    merci de m'aider

  20. #20
    Membre confirm�
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    101
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 101
    Par d�faut
    salut , pour le handle de la textbox j' ai ecris n'importe quoi..

Discussions similaires

  1. R�ponses: 0
    Dernier message: 12/08/2008, 17h30
  2. sendmessage()
    Par benoit70 dans le forum MFC
    R�ponses: 27
    Dernier message: 22/01/2004, 13h45
  3. 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