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
Partager