VC中对话框编程赋值出现的问题

编写了一段程序,从对话框中输入数据存储到相应的变量中,但其中出现了问题.下面程序中,赋值号右边的是与对话框中编辑框关联的变量,左边是需要存储的变量.我在调试运行程序时发现... 编写了一段程序,从对话框中输入数据存储到相应的变量中,但其中出现了问题.
下面程序中,赋值号右边的是与对话框中编辑框关联的变量,左边是需要存储的变量.我在调试运行程序时发现当我往编辑框内输入数据后,某些变量能通过关联的编辑框变量赋值,某些就不行.
具体是pDoc->ylpfk[0]=spfk.m_ylpfk1;
这些语句,右边的变量值是我输入的值,左边的变量始终得不到右边得值
而pDoc->spfasj=spfk.m_spfasj;
pDoc->zsjpfka[0]=spfk.m_zsj1pA;
这些语句就能使左边变量得到相应得值.
请高手指点下为什么会出现这种情况
void CDrawView::OnSpfengkou()
{
// TODO: Add your command handler code here
CSPFENGKDlg spfk;
//CString ss;
CDrawDoc* pDoc = GetDocument();
if(spfk.DoModal()==IDOK)
{
pDoc->spfasj=spfk.m_spfasj;
pDoc->zsjpfka[0]=spfk.m_zsj1pA;
pDoc->ylpfk[0]=spfk.m_ylpfk1;
}
}
DoModal后spfk.m_ylpfk1 有值
pDoc->ylpfk[0]=spfk.m_ylpfk1;
后pDoc->ylpfk[0]无值
就是这样的~
ylpfk[0],spfk.m_ylpfk1都是double型的变量.
zsjpfka[0]和spfk.m_zsj1pA;也是double型.
我实在是不明白为什么有的时候pDoc->ylpfk[0]会无值 ,有时候又有值.
展开
 我来答
小樊您好
2008-04-08 · 超过16用户采纳过TA的回答
知道答主
回答量:78
采纳率:0%
帮助的人:56.9万
展开全部
你所有的赋值语句都是一样的,基于同一个语法.
如果你的做法一致的话,应该有同样的效果.
看看你的编辑框类型是不是一样,都应该是:value型的
如果是数值的话应该是:int float 等等
还有看看你的等号左右类型是不是一样!
帐号已注销
2008-04-08 · TA获得超过215个赞
知道答主
回答量:347
采纳率:0%
帮助的人:0
展开全部
你要在适当的事件里,比如失去焦点时用UpdateData(TRUE);去更新关联的变量啊?!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhupf
2008-04-10 · TA获得超过280个赞
知道小有建树答主
回答量:683
采纳率:100%
帮助的人:499万
展开全部
UpdateData(TRUE);
立刻把值保存到变量。

UpdateData(FALSE);
立刻把变量的值显示出来。
----------------------------
DoModal后spfk.m_ylpfk1 有值
pDoc->ylpfk[0]=spfk.m_ylpfk1;
后pDoc->ylpfk[0]无值

这里你可以插入一些语句来显示 那些变量的值啊.

或者调试一下.只有这点代码又不能说明什么问题.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shaojun136
2008-04-09
知道答主
回答量:54
采纳率:0%
帮助的人:34.1万
展开全部
DoModal后spfk.m_ylpfk1 有值
pDoc->ylpfk[0]=spfk.m_ylpfk1;
后pDoc->ylpfk[0]无值
对不?

说详细点
m_ylpfk1
ylpfk[0]
怎么定义的?

等半天也不补充!晕,都是些什么人......
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式