找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2449|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

VC++:單文檔程序中編譯器自定義四個(gè)類(lèi)的類(lèi)外接口

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:104287 發(fā)表于 2016-1-31 02:55 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
一.CView調(diào)用CDocument成員:
調(diào)用CView類(lèi)自帶的CDocument類(lèi)接口:CMy22Doc* CMy22View::GetDocument() const
在調(diào)用函數(shù)寫(xiě) CMy22Doc* p11=GetDocument() ;便取得了GetDocument類(lèi)的指針。便可以通過(guò)p11調(diào)用GetDocument成員。
二.其他類(lèi)調(diào)用CView類(lèi)的成員:
編譯器沒(méi)有在其他類(lèi)自定義CView接口,需要自己寫(xiě):
POSITION pos=GetFirstViewPosition();//獲取第一個(gè)視圖類(lèi)的位置
CView *pview=GetNextView(pos);//給第一個(gè)視圖類(lèi)分配內(nèi)存。注:若有兩個(gè)視圖類(lèi)需要在寫(xiě)一遍pview=GetNextView(pos);給第二個(gè)分配內(nèi)存
CMyView*p22=(CMyView*)pview; //指針的強(qiáng)制轉(zhuǎn)換,轉(zhuǎn)換成自定義的CView類(lèi)型可以通過(guò)p22調(diào)用CView成員了……
三.app類(lèi)的類(lèi)外接口(格式固定):
CWinApp*p44=AfxGet App();//第一步:獲取App類(lèi)指針
CMyApp*p55=(CMyApp*)p44; //第二步:強(qiáng)制轉(zhuǎn)換成自定義的App指針,完成!
四.CMainFrame的類(lèi)外接口:
利用第三條(三.apphet App();//第一步:獲取App類(lèi)指針)的第一步獲取App指針p44,再用p44調(diào)用其m_pMainWnd方法,CWnd*p55=p44->m_pMainWnd;并到公共父類(lèi)CWnd*p55中。此時(shí)就可以用p55調(diào)用CMainFrame的方法了。。。。。。。。。
可以認(rèn)為CMainFeame的地址存在App中。
后三條的步驟可以概括為:獲取指針并存到通用指針,把通用指針轉(zhuǎn)換成自定義指針。


  ////////////////////////////////// 總結(jié)  /////////////////////////////////////
void CMy0315Doc::OnTt()
{
        // TODO: 在此添加命令處理程序代碼
        //CView類(lèi)的接口
        POSITION pos=GetFirstViewPosition();
        CView*view=GetNextView(pos);
        CMy0315View*p11=(CMy0315View*)view;
        AfxMessageBox(        p11->aa);
//APP類(lèi)的接口
        CWinApp*p2=AfxGetApp();
        CMy0315App*p22=(CMy0315App*)p2;
        AfxMessageBox(p22->zz);
//框架類(lèi)的入口
        CWnd*p33=p2->m_pMainWnd;//主場(chǎng)口對(duì)象(即CMainframe)的獲取
        CMainFrame*p44=(CMainFrame*)p33;
        AfxMessageBox(        p44->xx);
       
}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表