求助:MFC中如何获取当前活动子页面的指针

benben8230 2011-12-02 02:08:31
我用MFC创建了一个工程,此工程包含一个主页面,三个子页面。
Resource Base Class Class Name
主页面 IDD_TRACK_DIALOG CDialog CTrackDlg
子页面1 IDD_SATELLITE CPropertyPage CSatellite
子页面2 IDD_LOCATION CPropertyPage CLocation
子页面3 IDD_BDSATELLITE CPropertyPage CBdSate

我在TrackDlg.h中分别定义了三个子页面的指针:
CSatellite *m_pageSate;
CLocation *m_pageLoc;
CBDSate *m_pageBD;

并在TrackDlg.cpp的初始化中本别new了三个子页面的指针:
m_pageSate = new CSatellite();
m_pageLoc = new CLocation();
m_pageBD = new CBdSate();

在TrackDlg.cpp的某个地方执行如下语句,程序运行正常,可以把消息同时发送到三个子页面中
m_pageSate ->SendMessage(WM_UPDATE_GLZK,WM_UPDATE_GLZK,0);
m_pageLoc ->SendMessage(WM_UPDATE_GLZK,WM_UPDATE_GLZK,0);
m_pageBD ->SendMessage(WM_UPDATE_GLZK,WM_UPDATE_GLZK,0);

现在我想实现只把消息发送到当前活动的子页面中(程序运行后,用户点击哪个页面,哪个页面就是当前活动的子页面。
请问:该如何获取当前活动子页面的指针。
...全文
61 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
benben8230 2011-12-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ndy_w 的回复:]
激活的时候记下来。
[/Quote]

我也知道激活的时候设置一个标志,但是找不到激活Page的函数。
benben8230 2011-12-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 chengbar 的回复:]
CView* GetActiveView( ) const;

Return Value

A pointer to the current CView. If there is no current view, returns NULL.
[/Quote]

我需要获得的不是视图类指针,是CPropertyPage 类指针
shen_wei 2011-12-02
  • 打赏
  • 举报
回复
HWND GetActiveWindow(void);
sevancheng 2011-12-02
  • 打赏
  • 举报
回复
CView* GetActiveView( ) const;

Return Value

A pointer to the current CView. If there is no current view, returns NULL.

ndy_w 2011-12-02
  • 打赏
  • 举报
回复
激活的时候记下来。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧