1. 程式人生 > >MFC tab控制元件不同頁面間的變數傳遞和函式呼叫

MFC tab控制元件不同頁面間的變數傳遞和函式呼叫

問題描述:MFC程式中tab控價下有三個子頁面Page1、Page2、Page3,Page2上有Text控制元件IDC_EDIT1和成員函式Fun1,現在Page3中想獲取Page2上Text控制元件中輸入的值,和呼叫Page2的成員函式Fun1

方法:

Page3中包含標頭檔案:

#include "Page2.h"

在Page3中獲取Page2 Text控制元件值:

<pre name="code" class="cpp">CTabCtrl *tab=(CTabCtrl*)GetParent();//獲取父視窗即tab控制元件指標
CWnd *cwnd=tab->GetWindow(GW_CHILD);//獲取第一個子視窗指標,即Page1
CWnd *cwnd1=cwnd->GetWindow(GW_HWNDNEXT);//獲取第一個子視窗後的視窗,即Page2
cwnd1->GetDlgItemText(IDC_EDIT1,str);//獲取Page2上Text控制元件的值


在Page3中呼叫Page2的成員函式:

CTabCtrl *tab=(CTabCtrl*)GetParent();
CPage2 *page2=(CPage2*)tab->GetWindow(GW_CHILD)->GetWindow(GW_HWNDNEXT);
page2->Fun1();//呼叫Page2的成員函式