Tab-Problem

24/06/2009 - 08:26 von Markus Baechler | Report spam
Hallo NG,

ich rufe aus einem VC++ Projekt einen nicht modalen Dialog (C#) auf. Mein
Problem ist nun, dass auf diesem Dialog der Tabulator nicht funktioniert.

Wenn ich den Dialog modal in C++ mit: if
(dlg->ShowDialog()==System::Windows::Forms::DialogResult::OK)
aufrufe fkt. alles wunderbar.


Mit
dlg->Show(gcnew TestDlg::WindowWrapper(System::IntPtr(m_hWnd)));
geht es nicht.

Hat jemand ein àhnliches Problem und vielleicht sogar eine Lösung?????


Vielen Dank!

Markus
 

Lesen sie die antworten

#1 Frank Dzaebel
24/06/2009 - 19:06 | Warnen spam
Hallo Markus,

ich rufe aus einem VC++ Projekt einen nicht modalen Dialog (C#) auf.
Mein Problem ist nun, dass auf diesem Dialog der Tabulator nicht
funktioniert. Wenn ich den Dialog modal in C++ mit: if
(dlg->ShowDialog()==System::Windows::Forms::DialogResult::OK)
aufrufe fkt. alles wunderbar.



Was heisst genau "nicht funktioniert"?
Du meinst die "Tabulatortaste" führt zu keiner
Änderung des Fokus? Hat die Form überhaupt
einen Fokus? Gehen Maus-Aktionen?
Das C++ Projekt ist was für ein Projekt, auch ein WinForm
Projekt, dass dann eine C# ClassLib Form-Klasse
instanziiert und die willst Du jetzt aufrufen?

In C# ruft man meistens
myForm.Show(this)
auf. Hast Du in Deinem C++ Projekt
schon ein MainWindow?
Wie erstellst Du die "dlg" Instanz?
Also eine Instanz der (C#) Form erzeugen und
dann deren Show-Methode mit dem Handle
Deines ursprünglichen Fensters (dann Owner) aufrufen:

[Form.Show-Methode (IWin32Window) (System.Windows.Forms)]
http://msdn.microsoft.com/de-de/lib...efbbd.aspx


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

Ähnliche fragen