我想写一个工程,功能是IC卡消费。结构是这样的
登陆后就是一个对话框,对话框有个静态框,我为这个对话框写了一个类。算是主程序。除了对话框类,我还需要有好几个类,比如通信类(Socket),操作读卡器的类(调用dll中函数)
是这样的,通信也好,读卡也好,不可避免的出现很多错误情况,比如没有在读卡器上放卡片,没有和主机建立通讯等等。
我是想,把这些情况做都做一个处理,处理的情况(比如 请确保机器和主机相连 )要在对话框类的静态框上显示。要是只用一个类的话,太乱,不规范。那样出现情况很简单,用编辑框变量可显示。
先说一点,我不用MessageBox,太小儿科了吧

解决方案 »

  1.   

    想法是有啊,可是我不会呀。就像这样
    if (!LoadKey((unsigned char*)"A0A1A2A3A4A5", 0))
    {
         // 状态密钥出错
    }
    if (!Authentic(0,0))
    {
      // 验证密钥出错

       上边是在卡操作类的一个函数里,怎样把if的情况再主对话框的静态文本框显示???这么实现???
      

  2.   

    SetDlgItemText,静态框ID不要用IDC_STATIC。
      

  3.   

    定义一个错误码或者提示字符串数组,
    char error_str[][256] = {"状态密钥出错", "验证密钥出错"};这个可以定义很好,取决于你的需要,
    然后在你的那个if分支里面指定需要显示的错误字符串的序号int error = -1;
    if (!LoadKey((unsigned char*)"A0A1A2A3A4A5", 0)) 

        // 状态密钥出错
     error = 0;

    if (!Authentic(0,0)) 

      // 验证密钥出错
      error = 1; 

    // 最后显示字符串if ( error >= 0)
    {
       CWnd *pWnd = GetDlgItem(ID_XXXX);    // 根据静态文本框的ID获取窗口指针
       pWnd->SetWindowText(error_str[error]);
    }