在mfc中怎样调用自己定义的类里的结构体数组

就是要把结构体数组里面的坐标以点的形式画在主窗口上,但是在ondraw里面怎样才能把我自定义类里面的结构体数组的坐标调用出来呢?

首先要包含类的头文件,然后呢,假如你的类名叫做A,那么你定义一个有关A的变量例如:A a;
而你在类A中的结构体为S,在A中定义有关结构体S的变量为:S s,而中的数组数组为int array[100],那么你要调用array[11]就是:a.s.array[11],这样就可以了
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-11-02

首先,你要在使用数组处(OnDraw)所在的cpp源文件中,包含自定义类的头文件;

其次,要看你类的实例定义在哪里,你要获取类的实例(实际变量)才能获取类内的数据。


一般在MFC程序中,通常习惯使用标准类(APP、视图、文档等)成员变量作为数据的存储和“中转”,如果是常用和被多处使用的自定义类,建议将头文件包含在APP类的头文件中,并在APP类中声明自定义类变量(即作为APP类成员变量),这个变量可以在框架内的任意源代码中,通过AfxGetApp函数获取APP类指针后使用。如果自定义类只在视图和文档中使用,那么在文档类(CDocument)中定义成员变量时合理的方法,你可以在视图类的任何成员函数(包括OnDraw)中,通过GetDocument函数访问该变量。示例代码如下:

CxxxView::OnDraw(CDC* pDC)
{
  //.....
  int x = GetDocument()->m_MyClass.POINT.x;
  GetDocument()->m_MyClass.POINT.x = x + 10;
}

相似回答