barry:我是一个初学者,你能详细说一下VC++中一个程序生成的过程吗[比如:先怎么做,再怎么做。做好了,如何测试?还有那么多文件哪个才是源文件?]?谢谢!
(发表于2002-4-16 15:50:00)
海阔天空:我在调试这个程序的时候遇到一个问题:
在AddPage(UINT nID)中的
if (pTemp) //插入到链表
{ //如果不是空链表
while (pTemp->next) pTemp=pTemp->next; // 移动链表末尾
pTemp->next=pNewLink;
}
else // 空链表
pPageLink=pNewLink; //若是第一个节点
}
在while循环中的条件temp->next出现了内存指引错误
他所指内存不能读,请问是怎么回事?
(发表于2002-4-16 19:22:00)
sdzym:ASSERT(pNewPage->pDialog->Create(nID,this)); // 以无模式创建窗口
将ASSERT改为VERIFY
(发表于2002-4-25 11:57:00)
金王:Re:海阔天空
你忘了在构造函数中加入pPageLink=NULL了。
去看看源码的构造函数就会明白。
(发表于2002-5-28 12:35:00)
点点:我在对话框中放置按扭控件,为什么不能被激励?
(发表于2002-6-7 20:48:00)
高守:那个向导程序中的其中一个程序在调试时,向导页显示正常,而在"Release"方式编译时,向导页内容一片空白!
(发表于2002-7-24 15:08:00)
AntGhazi:Release空白的原因是ASSERT宏造成,这是个Debug下调试用的,去掉或改成VERIFY
不能被激活可在ShowWindow(SW_SHOW)的后面加上EnableWindow(true);即可。
(发表于2003-1-8 8:33:00)
scienceMode:可是我加了EnableWindow(true)还是没有用那该怎么办?
(发表于2003-4-18 13:48:00)
scienceMode:加的方法如下:
if (pTemp->nNum==nPos)
{
pTemp->pDialog->ShowWindow(SW_SHOW);
pTemp->pDialog->EnableWindow(TRUE);
}
(发表于2003-4-18 13:49:00)
runner111:原作者的这个自定义对话框有缺陷!他虽然能新建对话框,但是原作者反了一个错误------他在struct 中声明了个CDialog指针对象,但是他在AddPage 中用new CDialog对对象进行付值。然后又用Create 创建。看起来好像没错,运行也能成功,但是你会发现Step对话框是无法响应消息的!为什么呢?因为vc虽然根据你给的资源号创建了对话框,但是他不知道这个对话框和什么cpp关联!所以无法响应消息。我做了个小小的改动:
void CWizardDlg::AddPage(CDialog* pDialog,UINT nID)
{
struct PAGELINK* pTemp=pPageLink;
struct PAGELINK* pNewLink=new PAGELINK;
pNewLink->pDialog=pDialog;
pNewLink->pDialog->Create(nID,this);
......//以下和源代码相同
然后在CWizardDlg::OnInitDialog() 中这么写:
CStep1* pStep1=new CStep1;
CStep2* pStep2=new CStep2;
this->AddPage(pStep1,IDD_DIALOG_STEP1);
this->AddPage(pStep2,IDD_DIALOG_STEP2);
this->ShowPage(1);
delete pStep1;
delete pStep2;
就可以使用了。再次感谢原作者的辛勤劳动
(发表于2003-4-27 15:20:00)
runner111:不要加delete pStep1和delete pStep2 不然会出错的
(发表于2003-4-27 15:38:00)
wangjun:本文已修正!
谢谢runner111!
(发表于2003-4-28 19:59:00)
wangjun:原来的问题是创建的是CDialog,消息由CDialog的窗口过程来处理了,派生类的中的消息无法处理所以响应不了。另外修改了内存泄漏。
(发表于2003-4-28 20:04:00)
zhwang_2:非常感谢!
(发表于2003-7-2 17:11:00)
zhz:非常感谢.
有几个问题请教:
我的Wizard要根据前一页来决定后边显示哪儿一页..
我的每一页上面的的操作生效不想单独加按钮,而想在每一页的点击下一页按钮事件中实现...
有什么好的解决方案没? 我一开始在OnShowWindow中来实现,但总觉得不太好.
(发表于2006-4-29 16:57:00)
..........................................................................
--------------------next---------------------