Forums Neueste Beiträge
 

C#-Dialog wird nicht eingeblendet

21/09/2009 - 14:56 von Markus Baechler | Report spam
Hi NG,



Wir haben einen C++- Dialog, in dem mit

CWinFormsControl<NT_CalSend::DlgCalSettings> m_pDlgCalSend; (.h-Datei)

und

DDX_ManagedControl(pDX, IDC_DLG_CAL_SEND, m_pDlgCalSend) (.cpp-Datei)



eine Liste aus einer selbst erstellten C#- Dll eingeblendet wird. Das
funktioniert auch ganz gut.



Wenn wir jetzt aber in der Liste auf das "DoubleClick" Event reagieren und
darin eine System.Windows.Forms.MessageBox.Show("Test") öffnen, wird nichts
angezeigt und die Anwendung reagiert nicht mehr.

Statt der MessageBox kann auch irgend ein anderes Form mit ShowDialog
angezeigt werden. Es wird von dem Form dann nur der Rahmen gezeichnet und
die Anwendung reagiert nicht mehr.



Hat jemand eine Idee, wie man den Dialog zum Anzeigen bring?





Vielen Dank.



Markus
 

Lesen sie die antworten

#1 Jochen Kalmbach [MVP]
21/09/2009 - 16:44 | Warnen spam
Hallo Markus!

Wir haben einen C++- Dialog, in dem mit

CWinFormsControl<NT_CalSend::DlgCalSettings> m_pDlgCalSend; (.h-Datei)



Das ist sicher falsch...

Einen Dialog kannst Du *direkt* aufrufen, da brauchst Du nix zu hosten!

z.B.:
System::Windows::Forms::FontDialog^ fd = gcnew
System::Windows::Forms::FontDialog();
fd->ShowDialog();


Oder was soll sonst das "DlgCalSettings" sein?


Wenn es ein "Control" ist, dann *muss* es von "UserControl" abgeleitet
sein, sonst wird das Szenario nicht supported!

Aber wie gesagt; für einen Dialog brauchst Du nichts zu tun...

Greetings
Jochen

My blog about Win32 and .NET
http://blog.kalmbachnet.de/

Ähnliche fragen