Intéger boite de dialogue d'une dll mfc
Bonjour,
J'ai une dll MFC, dans laquelle j'ai crée une boite de dialogue MFC,
A partir d'une application c++/cli, je veux lancer ma boite de dialogue et l'intégrer dans la form
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
ShowG3DViewerDlg();
IntPtr appWin;
System::Threading::Thread::Sleep(2500);
appWin = FindWindow(classname,"AppTest");
// Put it into this form
SetParent(appWin, this->panel1->Handle);
SendMessage(appWin, WM_SYSCOMMAND, SC_MAXIMIZE, 0);
}
private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) {
Display("Test", vX, vY, vZ);
} |
Le code MFC de l'export des méthodes est
Code:
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
|
extern "C" void WINAPI ShowDlg()
{
HINSTANCE curInstance = AfxGetInstanceHandle ();
HMODULE hDll = ::GetModuleHandle("MyDll.dll");
if(hDll!=NULL)
AfxSetResourceHandle(hDll);
else
return; //echec
CDlgTest dlg;
dlg.DoModal();
AfxSetResourceHandle(AfxGetApp()->m_hInstance);
}
extern "C" void WINAPI Display(std::string name)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState ());
CDlgTest dlg;
dlg.Create("Test");
} |
Le FindWindow retourne toujours une valeur nulle :aie: pourtant avec Spy++ je trouve ma fenêtre et un handle non null bien sure
Comment je peux intégrer la Dialog MFc dans mon application Winforms
Merci d'avance