六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

解析VC++6中的指針

[摘要]摘要:指針,在VC++中是很常見(jiàn)的,這里我們并不打算去詳細(xì)講解在C++中那樣的指針用法(我們會(huì)有另外的文章去詳細(xì)討論),這里主要講一下VC++中常見(jiàn)的對(duì)指針獲取的方法,包括:工具條、狀態(tài)條、控件和窗...
     摘要:指針,在VC++中是很常見(jiàn)的,這里我們并不打算去詳細(xì)講解在C++中那樣的指針用法(我們會(huì)有另外的文章去詳細(xì)討論),這里主要講一下VC++中常見(jiàn)的對(duì)指針獲取的方法,包括:工具條、狀態(tài)條、控件和窗口的指針。

     獲取工具條的指針
     在缺省狀態(tài)下,有一個(gè)默認(rèn)的工具條AFX_IDW_TOOLBAR,我們可以根據(jù)相應(yīng)的ID去獲取工具條指針,方法如下:
     CToolBar* pToolBar=(CToolBar*)AfxGetMainWnd()->GetDescendantWindow(AFX_IDW_TOOLBAR);
     是不是很簡(jiǎn)單?

     獲取狀態(tài)條的指針
     在缺省狀態(tài)下,有一個(gè)默認(rèn)的狀態(tài)條AFX_IDW_STATUS_BAR,我們自然也可以根據(jù)相應(yīng)的ID去獲取狀態(tài)條指針,方法如下:
     CStatusBar* pToolBar=(CStatusBar*)AfxGetMainWnd()->GetDescendantWindow(AFX_IDW_STATUS_BAR);
     是不是同樣很簡(jiǎn)單?

    獲取控件的指針
    這里有兩種方法。
    一、調(diào)用CWnd: : GetDlgItem,獲取一個(gè)CWnd*指針調(diào)用成員函數(shù)。例如,我們想獲取CButton指針,方法如下:
    CButton* pButton=(CButton*) GetDlgItem (IDC_MYBUTTON);
    二、可以使用ClassWizard將控件和成員變量聯(lián)系起來(lái)。在ClassWizard中簡(jiǎn)單地選擇Member Variables標(biāo)簽,然后選擇Add Variable …按鈕。如果在對(duì)話資源編輯器中,按下Ctrl鍵并雙擊控件即可轉(zhuǎn)到Add Member Variable對(duì)話。

    在文檔類中調(diào)用視圖類指針
    我們可以利用文檔類的成員函數(shù)GetFirstView()和GetNextView()遍歷視圖。

    在視圖類中調(diào)用文檔類
    其實(shí),在視圖類中有一個(gè)現(xiàn)成的成員函數(shù)供我們使用,那就是:GetDocument();利用它我們可以很容易的得到文檔類指針,我們先看一下GetDocument()函數(shù)的實(shí)現(xiàn):
    CColorButtonDoc* CColorButtonView::GetDocument()
   {
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CColorButtonDoc)));
return (CColorButtonDoc*)m_pDocument;
   }
   這里實(shí)際上是將m_pDocument強(qiáng)制轉(zhuǎn)換成CColorButtonDoc*,也就是我們想要的。

   在框架類中調(diào)用文檔類、視圖類
   這里我們可以利用GetActiveXXXXX()去掉用當(dāng)前激活的文檔和視圖:
   CMyDoc*  pDoc=(CMyDoc*)GetActiveDocument();
   CMyView* pView=(CMyView*)GetActiveView();

   獲得應(yīng)用程序指針
   這個(gè)很簡(jiǎn)單,一句話搞定:
   CMyApp* pApp=(CMyApp*)AfxGetApp();

   獲得主框架指針
   在類CWinThread里面有一個(gè)公有的成員變量:CWnd* m_pMainWnd; 它存在的主要目的就是提供我們獲得CWnd指針,我們可以利用它來(lái)達(dá)到我們的目的:
   CMainFrame* pFrame=(CMainFrame*)(AfxGetApp()->m_pMainWnd);
   
   通過(guò)鼠標(biāo)獲得子窗口指針
   這里我們要用到一個(gè)不太常用的函數(shù):ChildWindowFromPoint。他的原型如下:
   CWnd* ChildWindowFromPoint(POINT point) const;
   CWnd* ChildWindowFromPoint(POINT point,UINT nFlags) const;
   這個(gè)函數(shù)用于確定包含指定點(diǎn)的子窗口,如果指定點(diǎn)在客戶區(qū)之外,函數(shù)返回NULL;如果指定點(diǎn)在客戶區(qū)內(nèi),但是不屬于任何一個(gè)子窗口,函數(shù)返回該CWnd的指針;如果有多個(gè)子窗口包含指定點(diǎn),則返回第一個(gè)子窗口的指針。不過(guò),這里還要注意的是:該函數(shù)返回的是一個(gè)偽窗口指針,不能將它保存起來(lái)供以后使用。
   對(duì)于第二個(gè)參數(shù)nFlags有幾個(gè)含義:
   CWP_ALL             file://不忽略任何子窗口
   CWP_SKIPNIVSIBLE    file://忽略不可見(jiàn)子窗口
   CWP_SKIPDISABLED    file://忽略禁止的子窗口
  CWP_SKIPRANSPARENT  file://忽略透明子窗口


標(biāo)簽:解析VC++6中的指針 
主站蜘蛛池模板: 亚洲天堂伦理 | 人人鲁免费播放视频人人香蕉 | 天天插狠狠干 | 亚洲精品视频区 | 亚洲区在线 | 欧美亚洲天堂 | 午夜在线日韩免费精品福利 | 欧美特黄一级大片 | 日日添日日摸 | 日韩三极 | 欧美一级第一免费高清 | 欧美视频在线播放观看免费福利资源 | 涩涩涩在线 | 日韩黄色影院 | 最新网址在线观看 | 神马热 | 欧美专区一区二区三区 | 色五月情 | 日韩欧美中字 | 欧美一级乱理片免费观看 | 日韩艳片 | 天天操天天操天天操 | 性刺激欧美三级在线现看中文 | 亚洲综合视频 | 亚洲免费观看在线视频 | 日本不卡视频在线视频观看 | 色色就色色 | 亚洲第五页| 性刺激免费视频观看在线观看 | 午夜在线网址 | 天天躁日日躁狠狠躁欧美日韩 | 亚洲成av人片在线观看 | 人人草人人看 | 在线视频一区二区三区在线播放 | 日韩黄网站 | 四虎免费在线观看 | 天天色综合社区 | 日韩欧美激情 | 亚洲视频男人的天堂 | 欧美洲大黑香蕉在线视频 | 欧美一级二级三级视频 |