一个多页的属性对话框,我单击页标签,如何获得这个消息?
无论这个page是否已经选中了,只要我单击了页标签,我都需要获得这个消息。
在线等待,谁先回答,谁得所有分数

解决方案 »

  1.   

    当用户单击选项卡或按钮时,选项卡 (TabControl) 控件 (CTabCtrl) 向其父窗口发送通知消息。如果要进行某种响应,请处理这些消息。例如,当用户单击选项卡时,您也许想在显示选项卡之前在页面上预设控件数据。    处理来自视图或对话框类中的选项卡 (TabControl) 控件的 WM_NOTIFY 消息。基于正在处理的通知消息,用“属性”窗口创建带 switch 语句的 OnChildNotify 处理函数。有关选项卡 (TabControl) 控件可发送到其父窗口的通知列表,请参阅 Platform SDK 中的选项卡 (TabControl) 控件通知消息。
      

  2.   

    对不起,我没有说清楚,我是用这两个类做的:
    CPropertySheet,
    CPropertyPage,
      

  3.   

    每个page应该自己都有killfocus类似的属性吧。
      

  4.   

    在每个Page中重载CPropertyPage::OnSetActive()试试。
      

  5.   

    killfocus()
    OnSetActive()
    都仅仅在切换页面的时候起作用,我希望如果该页面已经打开了,我单击页标签,也能获得消息
      

  6.   

    这个问题的分看来是给不了了,
    我再问一个问题,能答者,给分:在属性对话框中的page太多时,会分成多行显示page标签,我如何知道目前显示的是几行?
      

  7.   

    我觉得做熟悉对话框用cpropertysheet 简单多了,我想如果我来实现的话,我就会从cpropertysheet 派生一个sheet,然后我想它里面会有你要的消息的
    试试看吧,我也没有做过