我是一个初学者,要在Appwizard生成的对话框基础上写一个程序。请问:可不可以定义一个全局变量,这个变量所有的类都可以直接调用(而非通过对象调用)。类似于VB在公共模块中定义的Public变量。
如果不能的话,应该如何解决两个对话框(或者两个类)之间的通信问题?定时器周期扫描成员变量变化的方法应该不可取。自定义消息的方法不知道行不行。
高手随便指导一下小弟自当感激不禁。

解决方案 »

  1.   

    你可以在你的app类里面定义一个public型的变量因为mfc程序有一个全局的app对象你可以通过访问这个app对象的成员来访问全局变量通过AfxGetApp获取你的app对象在获得那个成员当然
    你直接定义一个全局变量也是可以的
      

  2.   

    1.全局变量通信
    2.如果有非模式对话框,可设定为子对话框
      这样子对话框通过GetParentWnd()访问父
      副对话框直接可以访问子(成员对象)
    3.如果一个是主窗体 ,可以通过AfxGetMainWnd()访问它
      

  3.   

    可以定义,不过定义的头文件必须被调用的哪个类的cpp include进去。
      

  4.   

    只要能得到类的指针,干什么都可以(只要是Public的变量)
    可以把这个public变量放在CXXXApp,CMainFrme,CXXXDoc里,用AfxGetApp()AfxGetMainWnd()或 GetActiveDoc()等等 全局函数都可以得到类的指针  
    或者PostMessage()然后在另一个类里响应