大家好!我遇到了了一个问题不知该怎么实现!
问题是这样的:我编了一个基于对话框的程序,对话框退出时,不是直接退出,当按Esc或选择退出按钮时出现一个对话框,询问“是否真的要退出”询问对话框出现时,在“是否真的要退出?”,这句话后面有一个闪烁的“N”,我想问的问题就是怎么能让“N”闪烁!
第一个问题是:怎样实现按Esc出现“询问”对话框?
第二个问题是:怎样实现“N”的闪烁;当按下“Y”键时,“N”变成“Y”再按下回车键后对话框就退出(父对话框和询问对话框都退出)?     请问各位高手这两个问题怎么实现???????
     请给出具体代码说明,谢谢!!!!!!!!!!!

解决方案 »

  1.   

    No 1.
    按Esc,其实执行的是OnCancel(),
    你只要将ID为IDCANCEL的按钮消息映射,再它的函数中
    void CXXDlg::OnCancel()
    {
      CYour dlg;
      if(dlg.Domodal()==IDOK)
            CDialog::OnCancel();//控制这句的执行
      else return;
    }
      

  2.   

    "N”的闪烁,调用的就不是MessageBox了,应该是自己写的对话框,这是很容易实现的
      

  3.   

    No 2
    一个思路:
    加一个static控件,显示"N"
    在你的CYour 初始化化函数加个Settimer()
    然后Ontimer(){//控制static的显示与否}
      

  4.   

    第一个办法参考 triggerd(有点着急)的方法,第二个办法最简单的做法,扔两个图片上去,一个画“Y”一个画“N”,默认就显示 "N" 图片,并且在SetTimer中让他消失,出现,消失,出现。选了yes 就显示 "Y" 图片,让他消失出现,消失出现。这个是苯办法了,聪明的就是自己画,花代码量比较大些而已。
      

  5.   

    我的第一个问题已经解决。第二个问题还是没解决。第二个问题中不用让"Y"或“N”闪。可不可以这样:当询问对话框弹出时,默认的是“N”,当键入’Y“时怎么让”“N”变成“Y”用什么方法来实现呢,请给出具体的代码。谢谢!!!!!!!!