Fenster nach Form.Show() nicht aktivieren
-
hy,
ich rufe aus einem com-c++-client via COM Callable Wrapper eine .NET-Form auf, und zwar mit myForm.Show().Allerdings möchte ich nicht dass dieses Fenster den Fokus erhält, sondern deaktiviert bleibt. In VB konnte man das mit ShowWindow(SW_SHOWNOACTIVATE); machen - gibt es hierfür etwas ähnliches wie ich das in .NET mit C# machen kann?
Ich erzeuge und zeige dieses .NET-Fenster nämlich dann an, sobald jemand in meiner Editbox (die sich in einer mit COM programmierten Toolbar befindet) zu schreiben beginnt - und damit man auch weiterhin schreiben kann, darf diese Toolbar den Fokus beim Erzeugen der .NET-Form nicht verlieren.
Vielen Dank im Voraus,
mike!
-
wie wärs denn den Fokus einfach sofort zurück zusetzen.
Da Show Asynchron läuft, kannst du per SetFocus oder so sofort den Focus wieder zurücksetzen (hab leider gerade Linux an, kann also nix in der Hinsicht nichts genaueres schreiben...)
-
Naja, das ist eben nicht so einfach wie man denkt.
Mein Edit-Fenster, das den Fokus behalten soll, ist in Win32 geschrieben und läuft in einer eigenen DLL.
Genauso in einer eigenen DLL (jedoch im selben Prozess) läuft das über COM Callable Wrappers aufgerufene .NET-Fenster - wie kann man also zwischen diesen beiden "Welten" Fokus hin- und hersetzen???