如何改变wizard的标题? 我想在程序运行时动态的改变PropertySheet(Wizard风格)的标题,可是我发现SetTitle不起作用,我现在该怎么办? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 什么“PropertySheet(Wizard风格)的标题”?不懂 CPropertySheet dlg;...dlg.SetWizardMode();...然后我想动态的改变标题栏的标题,如何做? 每个CPropertyPage的继承类都得用SetTitle 在CPropertyPage的继承类中这样用 CPropertySheet* p = (CPropertySheet*)GetParent(); p->SetTitle("XXX");我用过,一定可以 toolscreator(toolscreator)兄: 我是在CPropertyPage类的OnSetActive()中加入以上代码的,但是依然没有任何效果.程序总是采用模板的标题来作为向导框的标题. 你在向导框模式下成功过吗?急. 看,像这样: CPropertySheet pps; CPpBase pb; //是个propertypage CPpMore pm; //是个propertypage pps.AddPage(&pb); pps.AddPage(&pm); pps.SetTitle("my property test"); pps.DoModal(); jszj(老板说mis部不是赚钱的部门): 如果加上pps.SetWizardMode();这一句, SetTitle()似乎就不起作用了. 在OnWizardBack()和OnWizardNext()处理. 重载CPropertyPage::OnWizardNext,添加AfxGetMainWnd()->SetWindowText("XXX");并且将return CPropertyPage::OnWizardNext();改为return 1 CPropertySheet pps; CPpBase pb; //是个propertypage CPpMore pm; //是个propertypage pps.AddPage(&pb); pps.AddPage(&pm); pps.SetTitle("my property test"); pps.SetWizardMode(); pps.DoModal();然后,比如在第二步(CPpMore)中加一个按钮,在它的click里写下边语句: this->GetParent()->SetWindowText("abc");则,到这一步(第二步)的时候,点你加入的按钮,那么它的标题将变成"abc"=============================我已经测试过了,是可以的,如果你那里出现什么问题,再问 嘿,我也有个问题,和上边的问题差不多:我不能修改选项卡上的标题!!比如在第二步中的按钮的click中,我要改变第二个选项卡上的标题(不是对话框上的标题),用this->SetWindowText("new caption");语句无效,不知怎地? jszj(老板说mis部不是赚钱的部门) :um,我想事情是这样的.在wizard模式下,SetTitle和SetWindowText都是可以工作的,但问题出在CPropertyPage::OnSetActive()这个函数上,你只要调用他,他就会用模板的标题覆盖你原来的标题.对于你的例子,我猜测可能有这样的情况:在你按动按钮改完标题后,退到上一页,再回到此页,标题应该又改回去了.要想OnSetActive中改标题,一种方法是象demetry(大松) 所作的,不调用CPropertyPage::OnSetActive(),另一种方法是修改CTabCtrl,CTabCtrl *pTab=GetParent()->GetTabCtrl();...pTab->SetItem(...)这种我已经试验成功了.--------- jszj(老板说mis部不是赚钱的部门)修改选项卡上的标题,可以通过GetTabCtrl()得到选项卡控件,然后通过setitem来改写. 是在什么地方调用CPropertyPage::OnSetActive()的?其实在加入了SetWizardMode()函数后,tabctrl的工作过程是这样的:按照加入的先后顺序,首先显示第一个页面,在点下一个的时候,就显示第二个页面,依次向下点上一页的时候就显示前一页,这和点下一页是一样的,只是一个是向前,一个是向后它们的共同点就是:这些加入的页面,都处在一个共同的对话框中,即它们有一个共同的父窗口,在显示一个加入的页面的时候,这个页面就把自己的标题设成是父窗口的标题,然后,自己隐葳了标题栏。在父窗口中,有系统自己加入的几个按钮,比如"上一步"、"下一步"、"取消"等等 新手问个小白的问题。。。 创建socket失败,返回10106错误,请高手帮忙 STL是什么呀,C++ PRIMER中好像没有介绍。 来到厦门快一个月了,散分 请高手指点, 有些什么方法可以减小生成的dll文件大小。 紧急求助! 我的vc里面的成员函数怎么不自动列出来啦? 在线等待 请教大侠,如何在内存中画图? 请教一个关于非客户区按钮的ToolTip的问题,一定给分,高手请来看看! loadimage问题? 如何打開classwizard 函数传递char[]和char*的一个小问题
不懂
...
dlg.SetWizardMode();
...
然后我想动态的改变标题栏的标题,如何做?
CPropertySheet* p = (CPropertySheet*)GetParent();
p->SetTitle("XXX");
我用过,一定可以
我是在CPropertyPage类的OnSetActive()中加入以上代码的,但是依然没有任何效果.程序总是采用模板的标题来作为向导框的标题.
你在向导框模式下成功过吗?急.
CPropertySheet pps;
CPpBase pb; //是个propertypage
CPpMore pm; //是个propertypage
pps.AddPage(&pb);
pps.AddPage(&pm);
pps.SetTitle("my property test");
pps.DoModal();
如果加上pps.SetWizardMode();这一句,
SetTitle()似乎就不起作用了.
CPpBase pb; //是个propertypage
CPpMore pm; //是个propertypage
pps.AddPage(&pb);
pps.AddPage(&pm);
pps.SetTitle("my property test");
pps.SetWizardMode();
pps.DoModal();
然后,比如在第二步(CPpMore)中加一个按钮,在它的click里写下边语句:
this->GetParent()->SetWindowText("abc");
则,到这一步(第二步)的时候,点你加入的按钮,那么它的标题将变成"abc"=============================
我已经测试过了,是可以的,如果你那里出现什么问题,再问
我不能修改选项卡上的标题!!
比如在第二步中的按钮的click中,我要改变第二个选项卡上的标题(不是对话框上的标题),用
this->SetWindowText("new caption");
语句无效,不知怎地?
um,我想事情是这样的.
在wizard模式下,SetTitle和SetWindowText都是可以工作的,但问题出在
CPropertyPage::OnSetActive()这个函数上,你只要调用他,他就会用模板的标题覆盖你原来的标题.对于你的例子,我猜测可能有这样的情况:在你按动按钮改完标题后,退到上一页,再回到此页,标题应该又改回去了.
要想OnSetActive中改标题,一种方法是象demetry(大松) 所作的,不调用CPropertyPage::OnSetActive(),另一种方法是修改CTabCtrl,
CTabCtrl *pTab=GetParent()->GetTabCtrl();
...
pTab->SetItem(...)
这种我已经试验成功了.---------
jszj(老板说mis部不是赚钱的部门)
修改选项卡上的标题,可以通过GetTabCtrl()得到选项卡控件,然后通过setitem来改写.
按照加入的先后顺序,首先显示第一个页面,在点下一个的时候,就显示第二个页面,依次向下
点上一页的时候就显示前一页,这和点下一页是一样的,只是一个是向前,一个是向后
它们的共同点就是:这些加入的页面,都处在一个共同的对话框中,即它们有一个共同的父窗口,在显示一个加入的页面的时候,这个页面就把自己的标题设成是父窗口的标题,然后,自己隐葳了标题栏。在父窗口中,有系统自己加入的几个按钮,比如"上一步"、"下一步"、"取消"等等