有两个对话框,登录和操作。如何将登录的用户帐号传到操作对话框?

解决方案 »

  1.   

    FindWindow什么意思?不好意思我很菜啦!
    我计划这样实现:新建一个.h文件用于保存全局变量username,这样在所有类中都可以用
    可是编译的时候会出错,说该变量redefined。
    变量名绝对是没有和其他变量重名的,因为我随便定义一个变量"abcde"也会出现这样的错误
    为什么?请大侠们指教,不胜感激!!!
      

  2.   

    DoModal的顺序改变一下就可以了!
    先DoModal登陆的对话框,然后DoModal操作的。
      

  3.   

    或者将相关的登陆信息保存在APP类的变量中,校验通过以后再显示操作对话框!
      

  4.   

    你的头文件被重复include了
    #if !defined xxx
    #define xxx
    //定义变量
    #endif
      

  5.   

    建立一个登陆对话框资源,并生成登陆对话框的类,在操作对话框中创建登陆对话框对象,并显式。
    CString username,password;
    CLoginDlg m_logindlg;
    if(m_logindlg.DoModal()==ID_OK)
    {
        username=m_logindlg.user;
        password=m_logindlg.pass;                //取用户名和密码
    }
      

  6.   

    好像我说得不太清楚
    程序实现这样的功能:用户先登录,验证通过后跳出操作对话框
    按酷狗的说法我试过,
    每个对话框都对应一个类,在操作对话框中定义一个登录类对象,变量值没有传过来,空的回笑看寰宇:定义全局变量的头文件内没有include,只有条语句:CString username
    然后在各个需要用到该变量的类中才include了这个头文件,这样会有重复include的问题吗?
      

  7.   

    如果是那样,包含一次头文件就定义一次,当然重复定义了。最简单的方法是:
    你应该在.CPP文件内定义。
    另外在那个文件用到它,可以在那个文件前面加
    extern CString username;
    extern 的意思就是声明一下,意思是在外部文件已经定义了,在此文件内使用。
      

  8.   

    干嘛那么麻烦呢,定义一个全局变量不就行了,
    还有,你把头文件在各个需要用到这个变量的类中都#include之后,当然会导致重复定义的问题解决方法是在头文件的开头加上
    #if !defined xxx
    #define xxx
    xxx 比如就是_HEAD或什么的一个名字在头文件末尾加上
    #endif
    就可以了
      

  9.   

    谢谢各位了,问题解决了。在登录类中定义一个操作类对象xxxx1,xxxx1.username = username即可文件包含是在.cpp里,没有重复
    #if !defined xxx
    #define xxx也行不通。这个我想不通