解析VC 6中的指標

2021-04-08 20:59:44 字數 1284 閱讀 4532

摘要:指標,在vc++中是很常見的,這裡我們並不打算去詳細講解在c++中那樣的指標用法(我們會有另外的文章去詳細討論),這裡主要講一下vc++中常見的對指標獲取的方法,包括:工具條、狀態條、控制項和視窗的指標。

獲取工具條的指標

在預設狀態下,有乙個預設的工具條afx_idw_*******,我們可以根據相應的id去獲取工具條指標,方法如下:

c******** p*******=(c********)afxgetmainwnd()->getdescendantwindow(afx_idw_*******);

是不是很簡單?

獲取狀態條的指標

在預設狀態下,有乙個預設的狀態條afx_idw_status_bar,我們自然也可以根據相應的id去獲取狀態條指標,方法如下:

cstatusbar* p*******=(cstatusbar*)afxgetmainwnd()->getdescendantwindow(afx_idw_status_bar);

是不是同樣很簡單?

獲取控制項的指標

這裡有兩種方法。

一、呼叫cwnd: : getdlgitem,獲取乙個cwnd*指標呼叫成員函式。例如,我們想獲取cbutton指標,方法如下:

cbutton* pbutton=(cbutton*) getdlgitem (idc_mybutton);

二、可以使用classwizard將控制項和成員變數聯絡起來。在classwizard中簡單地選擇member variables標籤,然後選擇add variable …按鈕。如果在對話資源編輯器中,按下ctrl鍵並雙擊控制項即可轉到add member variable對話。

在文件類中呼叫檢視類指標

我們可以利用文件類的成員函式getfirstview()和getnextview()遍歷檢視。

在檢視類中呼叫文件類

其實,在檢視類中有乙個現成的成員函式供我們使用,那就是:getdocument();利用它我們可以很容易的得到文件類指標,我們先看一下getdocument()函式的實現:

ccolorbuttondoc* ccolorbuttonview::getdocument()

這裡實際上是將m_pdocument強制轉換成ccolorbuttondoc*,也就是我們想要的。

在框架類中呼叫文件類、檢視類

這裡我們可以利用getactive***xx()去掉用當前啟用的文件和檢視:

cmydoc*  pdoc=(cmydoc*)getactivedocument();

cmyview* pview=(cmyview*)getactiveview();

解析VC 6中的指標

解析vc 6中的指標 摘要 指標,在vc 中是很常見的,這裡我們並不打算去詳細講解在c 中那樣的指標用法 我們會有另外的文章去詳細討論 這裡主要講一下vc 中常見的對指標獲取的方法,包括 工具條 狀態條 控制項和視窗的指標。獲取工具條的指標 在預設狀態下,有乙個預設的工具條afx idw 我們可以根...

vc6 控制項

詳見msdn 為控制項新增乙個控制項型變數然後訪問之 edit idc edit1 m edit1 void ctest1dlg onbutton1 也可以直接使用id訪問 cstring str int i getdlgitemtextw idc edit1,str afxmessagebox s...

VC6中新增訊息對映

今天發現程式未顯示about box,分析發現,是因為程式未處理wm syscommand命令導致 但vc的classview裡好像不能直接處理該訊息 只好手動新增.記錄下方法和需要注意的地方。處理mfc的classview中沒有定義的訊息需要注意三個地方,如wm syscommand訊息,可以接收...