Pointer in MFC
The following table summarizes the methods for obtaining class pointers in MFC, which are comprehensive, concise, and of great reference value.
From this class: |
You can access this class using: |
Cwinapp |
Cmainframe |
Cchildframe |
Cdocument |
Cview |
Cwinapp |
|
Afxgetmainwnd () orm_pmainwnd |
Afxgetmainwnd ()-> mdigetactive () |
Afxgetmainwnd ()-> getactiveview ()-> getdocument () |
Afxgetmainwnd ()-> getactiveview () |
Cmainframe |
Afxgetapp () ortheapp |
|
Mdigetactive () orgetactiveframe () |
SDI: getactiveview ()-> getdocument () MDI: mdigetactive ()-> getactiveview ()-> getdocument () |
SDI: getactiveview () MDI: mdigetactive ()-> getactiveview () |
Cchildframe |
Afxgetapp () ortheapp |
Getparentframe () |
|
Getactiveview ()-> getdocument () |
Getactiveview () |
Cdocument |
Afxgetapp () ortheapp |
Afxgetmainwnd () |
Afxgetmainwnd ()-> mdigetactive () |
|
Position Pos = getfirstviewposition (); Getnextview (POS ); (See note below) |
Cview |
Afxgetapp () ortheapp |
Afxgetmainwnd () |
Getparentframe () |
Getdocument () |
|
Any other class |
Afxgetapp () |
Afxgetmainwnd () |
Afxgetmainwnd ()-> mdigetactive () orafxgetmainwnd ()-> getactiveframe () |
SDI: afxgetmainwnd ()-> getactiveview ()-> getdocument () MDI: afxgetmainwnd ()-> mdigetactive ()-> getactiveview ()-> getdocument () |
SDI: afxgetmainwnd ()-> getactiveview () MDI: afxgetmainwnd ()-> mdigetactive ()-> getactiveview () |
Note:To access only the current view, the document class can call afxgetmainwnd ()-> getactiveview () from a SDI application or afxgetmainwnd ()-> mdigetactive ()-> getactiveview () from a MDI application. |