Avatar billede sovsekoder Nybegynder
01. juli 2004 - 13:12 Der er 4 kommentarer og
1 løsning

Managed kontrol i unmanaged host

Følgende artikel beskriver hvorledes man viser en managed kontrol i en unmanaged host:

.NET Framework 1.1 Provides Expanded Namespace, Security, and Language Support for Your Projects

http://msdn.microsoft.com/msdnmag/issues/03/03/WindowsForms/default.aspx

Det virker fint (der er et kode eksempel til download). MEN:

Når jeg laver en miniserver (ell. fullserver) i c++ (vha. VS .NET 2003 wizard) og viser en managed kontrol (lavet i C#) på View'et i miniserveren opstår der et problem - de dialoger som min "managed control" viser er ikke modale. Vises dialoger i c++ - delen (miniserveren/fullserveren) så er dialogerne modale! er der nogen der har et bud på hvad der kan få mine dialoger modale i C# kontrollen?

- C# kontrollen er lavet som en UserControl
Avatar billede sovsekoder Nybegynder
01. juli 2004 - 13:13 #1
Det skal siges at problemet med at mine dialoger ikke er modal i min "managed kontrol" opstår når miniserveren/fullserveren loades i en container. Hvis man laver en full server og starter den (uden container) så er dialogerne modale.
Avatar billede sovsekoder Nybegynder
01. juli 2004 - 13:14 #2
...jeg udlodder gerne flere point hvis det kan hjælpe på motivationen :-D
Avatar billede sovsekoder Nybegynder
05. juli 2004 - 19:13 #3
det virker som om man er begrænset mht. hvad man har lov til inde i .NET kontrollen. Men det har kunne lade sig gøre at gøre dialogerne modale ved at bede c++ delen om at disable "owner" vinduet til dialogen (og når man lukker dialogen enables "owner" vinduet igen. Så noget i denne stil:

SendMessage(cppParthWnd, WM_USER, 0,0);
form.ShowDialog();
SendMessage(cppParthWnd, WM_USER, 1,1);

hvor c++ delen (med handle cppPartWnd i view delen) modtager beskeden WM_USER og enabler/disabler owner vinduet:

LONG CTheView::OnWMUser(WPARAM, LPARAM) {
  HWND hNull = NULL, hParent = CWnd::GetSafeWnd_(NULL, hNULL);
  ::EnableWindow(hParent, WPARAM)
  return 0;
}
Avatar billede sovsekoder Nybegynder
05. juli 2004 - 19:14 #4
Se også koden for CDialog::DoModal i mfc-koden (her gøres noget lignende)
Avatar billede sovsekoder Nybegynder
10. juli 2004 - 18:34 #5
nå jeg bruger min løsning...- hvis folk får løst til at kaste sig ud i "managed control i unmanaged host" kan jeg ikke anbefale det.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester