Message-Problem

10/07/2009 - 17:56 von Markus Baechler | Report spam
Hi NG,

Wir haben eine von CView- Abgeleitete Klasse. In der erzeugen wir einen in
einer C#- Lib eingebetteten Dialog mit

UnsereLib::UnserDialog ^dlg=gcnew UnsereLib::UnserDialog();
dlg->Show(gcnew UnsereLib::WindowWrapper(System::IntPtr(m_hWnd)));

WindowWrapper ist eine Klasse die von System.Windows.Forms.IWin32Window
abgeleitet ist und das HWND für den C#- Dialog aus dem IntPtr umwandelt.

In dem Dialog funktionieren die Eingaben in Textboxen (wenn ich die mit der
Maus aktiviere). Auch lassen sich die Buttons mit der Maus anklicken. Nur
wenn ich die Tabulatortaste drücke, kommt ein Windows- Message- Ping. Selbst
dann, wenn ich vorher mit der Maus eine Textbox aktiviert habe.

Hat jemand eine Idee, warum dies so ist???


Vielen Dank.

Gruß,
Markus
 

Lesen sie die antworten

#1 Frank Dzaebel
11/07/2009 - 11:37 | Warnen spam
Hallo Markus,

UnsereLib::UnserDialog ^dlg=gcnew UnsereLib::UnserDialog();
dlg->Show(gcnew UnsereLib::WindowWrapper(System::IntPtr(m_hWnd)));



richtige Newsgroup wàre zunàchst:
microsoft.public.de.german.entwickler.dotnet.vc
Falls es dort nicht ausreichend beantwortet
wird, kannst Du gern nochmal hier zurückkommen.
Schon mal vorweg: Du solltest ggf. mehr Schnittstellen
implementieren, als nur IWin32Window. Also zum
Beispiel mal: IContainerControl, IComponent, IDisposable,
bzw. es gibt ja mehrere:

Type[] interfaces = typeof(Form1).GetInterfaces();
StringBuilder sb = new StringBuilder();
foreach (Type ti in interfaces)
sb.AppendLine(ti.FullName);
MessageBox.Show(sb.ToString());


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen