收录日期:2018/09/20 05:23:16 时间:2016/05/18 03:14:32 标签:界面
在程序中,如何获得已经显示过的窗口的指针(前提是不是主窗口的指针),同时获得指针后,能否使用我在那个窗口类中声明的变量(前提针变量已赋值,想使用其值),谢谢指点。
什么是"已经显示过的窗口"?
就是用DoModal过的窗口。
我没有试过,不知道这个函数对你有没有用

得到最近活动过的弹出窗口

CWnd::GetLastActivePopup  
CWnd* GetLastActivePopup( ) const;

Return Value

Identifies the most recently active pop-up window. The return value will be the window itself if any of the following conditions are met: 

The window itself was most recently active.


The window does not own any pop-up windows.


The window is not a top-level window or is owned by another window. 
The pointer may be temporary and should not be stored for later use.

你可以把要弹出的窗口设成类成员变量
在头文件中
CTestDlg* m_pDlg;

在cpp文件的初始化函数中
m_pDlg=new CTestDlg;
在弹出时
m_pDlg->DoModal();

m_pDlg就是窗口指针了
不过在DoModal之前,这个指针指向的是无郊窗口
CMyDlg dlg;
UINT nID=dlg.DoModal();
if (nID!=IDOK) return;
dlg.MyVar=...
shilong说得很清楚了
shilong(银羽·以吻赠剑) 说的正确!!
up
yes