C ++:如何访问Form1中创建的对象?

时间:2010-05-18 07:43:11

标签: visual-studio forms object c++-cli

我是C ++的新手,我正在使用VC ++ 2008,我已经创建了一个带有带有gui设计的pictureBox的表单,位于Form1.h中。

为了代码稳定性,我试图将gui和处理类分开,所以我在process.h中创建了一个新类,其中包含更改pictureBox中图像的代码,问题是我无法从进程中访问pictureBox对象.h因为它位于不同的班级。

注意: 表单的类名是Form1里面的命名空间try, 进程的类名是processImage

我试图在类Form1中创建一个名为setImage()的setter函数来设置imageBox obj的图像路径,但我不能让Form1的对象调用该函数,因为Form1类是未知的。注意我试图#include“Form1.h”,但它仍然未知。

我的问题有解决办法吗?

感谢您的帮助..

2 个答案:

答案 0 :(得分:0)

创建ProcessImage类,并使该类的对象成为Form1类的成员变量。在ProcessImage类中创建setImage公共方法。每当更新图片框中的图像时,请调用此方法。

答案 1 :(得分:0)

我不确定我是否能理解你的问题,但这里有一些提示。

您说您包含Form1.h但Form1仍然不可见。当A包括B和B包括A时可能是问题,可以用前向声明来解决。确保不要忘记名称空间。

A.H:

#include "B.h"

namespace NamespaceB
{
    class B; // forward declaration
}

namespace NamespaceA
{    
    class A
    {        
        NamespaceB::B m_pB;        
    };    
}

B.h:

#include "A.h"

namespace NamespaceA
{
    class A; // forward declaration
}

namespace NamespaceB
{    
    class B
    {        
        NamespaceA::A* m_pA;        
    };    
}