CTabCtrl的两个问题,高手请进!!

我有一个对话框,上面有一个CTabCtrl控件以及一些控件。
现在,这个Tab控件工作的很好。但是,当用户未编辑完某些内容时,我想限制用户对CTabCtrl的视图切换,即不让用户进行视图的切换。我该怎么做呢??

重载了OnTncSelectChange和SelectChangine,让 *pResult = -1 也不行。呵呵。请大侠告诉我,该怎么做??

另外,这个TabCtrl是我自己定义的一个类,CMyTabCtrl : public CTabCtrl
而且我已经在这个类里面处理了OnSelectChange函数,现在我又想在Tab所在的对话框里面也处理这个消息,但是我发现如果CMyTabCtrl里面处理了的话,父窗口(对话框)就收不到切换视图的消息了。
在CMyCTabCtrl里面这样也不行:
GetParent()->SendMessage( WM_NOTIF, TCBSELECTCHANGE, 0L )
WM_NOTIF, TCBSELECTCHANGE, pNMHDR )
WM_NOTIF | TCBSELECTCHANGE, pNMHDR, this )
...........................
都试了,不行。请高手一并解决。谢谢。

为你的CMyTabCtrl类添加一个消息处理,在“新建Windows消息/事件”中选择 “ =TNC_SELCHANGING ”,注意,不是TNC_SELCHANGE,双击,然后确定。在添加的 OnSelchanging 函数中把 *pResult 设置成非0值,这样就不能切换啦。别说不行,我专门试过了。

哎,不过还是有可能不行,昨天我就遇到一个,他把程序给我,同样的程序,我运行就没错,他运行硬是有错,你说怪不怪。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-08-06
是非模态对话框吧,OnTncSelectChange用函数
ShowWindow(SW_HIDE)
ShowWindow(SW_SHOW)
相似回答