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

C++/CLI Discussion :

WinForm, HWND et control Win32


Sujet :

C++/CLI

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 8
    Par défaut WinForm, HWND et control Win32
    Bonjour,

    Je développe une application Winform en c++/cli (pur projet perso).
    J'aimerai ajouter dans cette Winform un control natif Win32 (www.scintilla.org pour ne pas le citer) qui est sous forme de dll.

    Je me retrouve donc à devoir mixer du code managé et non managé.
    Le code suivant "semble" fonctionner mais j'aimerai avoir votre avis sur sa pertinence et si je ne fais pas une grave erreur en procédant ainsi:

    Code c++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    // #include <windows.h>, lien avec user32.lib, compile avec /clr etc
     
    private: System::Void FormTest_Load(System::Object^ sender, System::EventArgs^ e)
    {
      HWND hparent = reinterpret_cast<HWND>(this->Handle.ToPointer());
      HWND hscintilla = CreateWindowEx(..., hparent, ...)
      //...
    }

    Dans ce code, je récupère le handle de la Winform que je passe ensuite à la fonction win32 CreateWindowEx(). Ca fonctionne. Le control Scintilla gère lui même les évènements comme il est censé le faire et mon application Winform est en mesure de recevoir les notifications que le control scintilla lui envoie.

    Est-ce trop beau pour être vrai ? je veux dire par là, est-ce cohérent d'inclure un control win32 dans une Winform comme je le fais ?
    J'ai cherché sur le net, je n'ai pas trouvé de confirmation.

    Merci

  2. #2
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    Moi je dit toujours, "si ça marche, c'est bon".
    En même temps, les WinForms c'est en général des wrapper vers l'architecture native des fenêtres sous Windows avec des Handle et tout et tout. Donc est-ce illégal de rajouter des contrôles Win32 dans des contrôles Win32 ...

Discussions similaires

  1. WinForm ou Web Controls pour dotNet
    Par Arkal dans le forum Général Dotnet
    Réponses: 6
    Dernier message: 25/09/2009, 21h58
  2. Réponses: 1
    Dernier message: 30/04/2008, 17h47
  3. Réponses: 4
    Dernier message: 22/03/2006, 10h18
  4. HWND de MFC à une DLL Win32
    Par Taron31 dans le forum MFC
    Réponses: 5
    Dernier message: 16/03/2006, 06h53
  5. [Win32] Transparence d'un Edit Control
    Par bigbang dans le forum MFC
    Réponses: 20
    Dernier message: 04/02/2005, 08h22

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