Question

Mise à jour: Je pensais qu'il était Windsows.h je dois inclure et vous avez confirmé, mais quand je l'inclure je reçois un tas de messages comme suit ...

1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h(5934) : error C2872: 'IDataObject' : ambiguous symbol
1>        could be 'C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h(251) : System::Windows::Forms::IDataObject IDataObject'
1>        or       'c:\windows\microsoft.net\framework\v2.0.50727\system.windows.forms.dll : System::Windows::Forms::IDataObject

Je ne sais pas comment résoudre ce problème, Eik!


Je suis en train d'appeler PeekMessage mais lorsque je tente de compiler je reçois les erreurs suivantes.

'MSG': identificateur non déclaré « HWND »: identificateur non déclaré 'PM_REMOVE': identificateur non déclaré

mon code est comme ci-dessous ...

MSG message;
    while(form->Created)
                {
                    while( PeekMessage( &message, (HWND)form->Handle.ToPointer(), 0, 0, PM_REMOVE ) )
                    {
                        TranslateMessage( &message );
                        DispatchMessage( &message );
                        if( !mainWindow->Created )
                            break;
                    }
                }

Je sais ce que ces structures sont, mais peuvent obtenir le compilateur de les reconnaître. Est-ce que je manque un arbitre ou sont là l'alias de VC pour la même chose?

Vive.

Était-ce utile?

La solution

Vous aurez plusieurs collisions de noms de symbole méchant quand vous #include windows.h dans un C ++ / CLI Windows Forms application. Mais cela est auto-induite. Pomper votre propre boucle de message dans une application WF est pas approprié. Il a déjà une, application :: Run (). Vous ne pouvez pas écrire votre propre, vous ne serez pas en mesure de prétraiter le message approprié pour faire des choses comme les raccourcis clavier fonctionnent.

Travailler à travers des tutoriels de programmation C ++ / CLI avant de l'essayer.

Autres conseils

Vous devez inclure un fichier d'en-tête contenant les définitions. De http://msdn.microsoft.com/en -nous / bibliothèque / ms644943% 28VS.85% 29.aspx :

  

Déclaré en Winuser.h, comprennent   Windows.h

Alors, faites ceci:

#include <Windows.h>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top