Asp Forum
Home
|
Login
|
Register
|
Search
Forums
>
pl.comp.programming
[Managed C++] Obsluga okna ladowanego z DLL(MFC
Mateusz Bronk
6/16/2007 1:51:00 AM
Witam,
Mam nastepuj?cy problem:
Mam plugin w pliku DLL (DLLka pisana z u?yciem MFC). Udostepnia on miedzy
innymi funkcje LoadDialog() która zwraca mi uchwyt (HWND) do formatki/okienka
z konfiguracj? owego plug'a.
W uproszczeniu:
HWND LoadDialog() {
CMyDialog* pNewDialog = new CMyDialog(); /*tworzenie klasy okna*/
pNewDialog->Create (MAKEINTRESOURCE(IDD_ID_ZASOBU), NULL))
/*ladowanie okna z zasobow*/
return pNewDialog->GetSafeHwnd();
}
Aplikacja 'glowna' dostaje ten HWND, konwertuje go sobie na CWnd* poprzez:
FromHandle( HWND_PLUGINU )
Nastepnie takie 'co?' jest wrzucane na zak3adke TabControla (ustawiam Parent'a
itp.) i wyswietlene: /*ShowWindow(SW_SHOW)*/
Tak by3o kiedy oba modu3y by3y pisane w MFC. Problem polega na tym, ?e pluginy
maj? bya cze?ci? znacznie wiekszej aplikacji macierzystej, która jest napisana
w .NET (Managed C++). Nie potrafie sobie poradzia w3a?nie z przej?ciem z HWND
na co? u?ywalnego z poziomu Managed C++.
Próbowa3em podobnie:
Mój HWND zrzutowa3em sobie na IntPtr i usi3owa3em tak?e wywo3aa
FromHandle()... ale wygl?da na to ?e nie tedy droga (ew. robie co? ?le -
je?eli chodzi o .NET, to jestem kompletnie zielony). Znalazlem co prawda kilka
poradnikow w google, ale wszystkie dotycz? mieszania MFC z .NETem w jednym pliku.
Czy móg3by mi kto? poradzia (kawa3ek kodu?) jak w mo?liwie bezbolesny sposób
przej?a z HWND dialogu na System::Windows::Forms::TabPage^ (tzn. zapewne
samego tab'a bede musia3 stworzya przez gcnew, ale jak dodaa na niego mój
dialog w .NET?). Czy jest to w ogóle mo?liwe (tzn. takie konwersje MFC<->.NET
zahaczaj?c jeszcze po drodze o WinAPI)?
Chodzi mi mniej wiecej o tak? ?cie?ke konwersji:
CDialog*->CWnd*->HWND--(interfejs_plug<->app)-->Control^->TabPage^
W skrócie: jak obs3u?ya w .NET okno dialogowe maj?c tylko jego
'niskopoziomowy' uchwyt? (tzn. jak je zadokowaa w .NETowym tabcontrolu i
pokazaa?) W gre wchodzi3oby nawet mieszanie kodu 'managed' i 'unmanaged', choa
musze przyznaa, ?e raczej kiepsko mi to wychodzi). Pisze w VS2005...
Z góry dziekuje za pomoc,
M.Bronk
--
Wys3ano z serwisu Usenet w portalu Gazeta.pl ->
http://www.gazeta....
Servizio di avviso nuovi messaggi
Ricevi direttamente nella tua mail i nuovi messaggi per
[Managed C++] Obsluga okna ladowanego z DLL(MFC
Inserendo la tua e-mail nella casella sotto, riceverai un avviso tramite posta elettronica ogni volta che il motore di ricerca troverà un nuovo messaggio per te
Il servizio è completamente GRATUITO!
x
Login to ForumsZone
Login with Google
Login with E-Mail & Password