奇怪!!!以前没见过的问题,帮帮我

chenxidu 2007-04-08 10:05:44
int i=10;
i--;
if(i==3)
{
MessageDlg("你今天有事要记下来吗?",mtConfirmation ,
TMsgDlgButtons()<<mbOK<<mbCancel,0);
i--;
}

if(MessageDlg("你今天有事要记下来吗?",mtConfirmation ,
TMsgDlgButtons()<<mbOK<<mbCancel,0)==mrOk)
{ Memo1->Enabled=true;
Button1->Enabled=true;

}
else
{ Memo1->Enabled=false;
Button1->Enabled=false;



}
可是一个messageDlg出现后,无论你ok cancel都不能消失,一直弹出这个对话框,真麻烦,我这样的设置是不是有什么问题,另外有一个类似的问题

if(Memo1->Enabled==true)
{
MessageDlg("你没有保存你的事务纪录!",mtInformation,
TMsgDlgButtons() << mbOK, 0);
每次都要按两次ok这个messagedle才能消失,怎么会这样,请高手指点
...全文
140 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jim@luckeeinc.com 2007-04-09
  • 打赏
  • 举报
回复
如果只是运行你上面的代码 只有一次message出现
多次出现是不是因为你上面的代码是写在循环里?
如果是 那
if(MessageDlg("你今天有事要记下来吗?",mtConfirmation ,
TMsgDlgButtons()<<mbOK<<mbCancel,0)==mrOk)
{ Memo1->Enabled=true;
Button1->Enabled=true;

}
else
{ Memo1->Enabled=false;
Button1->Enabled=false;



}

上面这段代码会一直执行 因为你没有条件来限制
lyf19831209 2007-04-09
  • 打赏
  • 举报
回复
不知道你确切的功能是什么
但是 你这样写程序不好
i--在2个地方都有可能执行
MessageDlg("你今天有事要记下来吗?",mtConfirmation ,
TMsgDlgButtons()<<mbOK<<mbCancel,0);
在2个地方都有可能调用,放在if判断里 每次都执行的
不好控制
很容易出现你说的,对话框要确定几次才结束
___NULL 2007-04-09
  • 打赏
  • 举报
回复
可以用 MessageBox
luokaikun 2007-04-08
  • 打赏
  • 举报
回复
1.检查i值变化,i是否一直在从10递减!
2.......

604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧