新建乙個多文件工程;名為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...