VC 從View類獲取各種指標程式設計例項

2021-09-13 13:57:38 字數 1165 閱讀 8444

新建乙個多文件工程;名為getptrdemo;

在視類ondraw函式,獲取其他類指標;然後進行一些操作;

首先獲取應用程式類指標;可以獲取到;然後利用它輸出程式名;

然後獲取主框架類指標;直接在視類ondraw函式加入如下**,編譯會出現

error c2065: 'cmainframe' : undeclared identifier;

獲取選單指標;輸出指標的值;獲取第乙個選單的文字,然後輸出;可以;

cmenu* pmenu = afxgetmainwnd()->getmenu();

pdc->textout(100,40, (char*)pmenu);

cstring strmenu1;

pmenu->getmenustring(1,strmenu1,mf_byposition);

pdc->textout(100,70, strmenu1);

獲取工具條指標;然後獲取第乙個按鈕的文字,設定第四個按鈕的文字;獲取不到第乙個按鈕的文字,設定也無效;可能是按鈕風格方面的一些問題;下回再搞;

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

cstring strtooltext;

p*******->getbuttontext(1,strtooltext);

p*******->setbuttontext(4,"我自己改的");

pdc->textout(100,100, strtooltext);

//cstatusbar* pstatusbar = (cstatusbar*)afxgetmainwnd()->getdescendantwindow(afx_idw_status_bar);

獲取文件指標;視類ondraw函式已經具有該指標;可直接使用;輸出文件標題;

pdc->textout(100,150,pdoc->gettitle());

ondraw函式如下;

void cgetptrdemoview::ondraw(cdc* pdc)

執行截圖:

在MFC類中各種類的指標的獲取和應用

注 從檢視類中獲得主幀視窗類指標 用函式 cwnd getparentframe 或afxgetmainwnd 也 可達到目的。getparentframe 的工作原理是在父視窗鏈中搜尋,直到找到cframewnd或其派生類為止,並返回其指標。cmainframe cwnd getparentfra...

在MFC類中各種類的指標的獲取和應用

獲得cmainframe 獲得cchildframe 獲得cdocument 獲得cview afxgetmainwnd m pmainwnd afxgetmainwnd mdigetactive afxgetmainwnd getactiveframe sdi afxgetmainwnd geta...

在MFC類中各種類的指標的獲取和應用

獲得cmainframe 獲得cchildframe 獲得cdocument 獲得cview afxgetmainwnd m pmainwnd afxgetmainwnd mdigetactive afxgetmainwnd getactiveframe sdi afxgetmainwnd geta...