PDA

View Full Version : MFC,parere su questo codice


misturas
30-01-2004, 11:49
Ciao,vorrei un consiglio
Questo codice:

CMyView:DoSomethingUsefull()
{
CMyDoc* pDoc = GetDocument();
POSITION pos = pDoc->GetFirstViewPosition();
CMyView*pView = pDoc->GetNextView(pos);
CMyDialog dlg(pView);
dlg.DoModal();
}

Questo codice è contenuto nella classe della vista del documento
di un mio programma;chiama una mia dialog box che ne costruttore ha come parametro un puntatore ad un oggetto
CMyView
Ora,per passare alla dialog box il puntatore all'oggetto CMyView
uso le tre istruzioni di cui sopra.
Il trick funziona,ma c'è un modo più elegante ed immediato di passare il puntatore alla vista corrente?
Sempre dalla classe della vista,ovviamente
Non so se sono stato spiegato!(W Sconsy...)
Grazie in anticipo:) :)

lombardp
30-01-2004, 12:33
Forse potresti provare con il THIS...

CMyViewoSomethingUsefull()
{
CMyDialog dlg(this);
dlg.DoModal();
}

misturas
30-01-2004, 13:17
Originariamente inviato da lombardp
Forse potresti provare con il THIS...

CMyViewoSomethingUsefull()
{
CMyDialog dlg(this);
dlg.DoModal();
}

Si,ci avevo provato anche io,ma non mi funzionava:(
In realtà non avrebbe funzionato neanche il mio metodo
se non avessi modificato la chiamata in CMyDialog(NULL,this)
in quanto il costruttore è
CMyDialog(CWnd* pParent /*=NULL*/,CMyView *pView):doh:
Grazie mille mi hai tolto un dubbio! :mano: