函数1
void CFileInterView::OnLoadFile()
{
double x,y,z;
////}
函数2
void CFileInterView::Jshi()
{
//////
double dx,dy,dz;
f(dx,dx,dz);//用dx来接受传过来的参数double x,y,z
}想把函数1中的double x传个函数2,并调用f()来处理参数,该怎么弄呀?
void CFileInterView::OnLoadFile()
{
double x,y,z;
////}
函数2
void CFileInterView::Jshi()
{
//////
double dx,dy,dz;
f(dx,dx,dz);//用dx来接受传过来的参数double x,y,z
}想把函数1中的double x传个函数2,并调用f()来处理参数,该怎么弄呀?
void CFileInterView::OnLoadFile()
{
double x,y,z;
////
Jshi(x,y,z);
}
函数2
void CFileInterView::Jshi(double &x,double &y double &z)
{
f(dx,dx,dz);//用dx来接受传过来的参数double x,y,z
}
void CFileInterView::OnLoadFile()
{
////
}
void CFileInterView::Jshi()
{
//////
f( x,y,z );//用dx来接受传过来的参数double x,y,z
}
要求该函数参数必须为空的话 可以传吗?
这些函数都操作成员变量
这些函数都操作成员变量"我也就是这个意思
void CFileInterView::OnDraw(CDC* pDC)
{
CFileInterDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// pDC->Rectangle(minx,miny,maxx,maxy);//这样调用好象不行不知道为什么?
pDC->Rectangle(240.015627813673690,99.6999127714157250,
615.410856755797790,240.015627813673690);//用来画矩形
}
就可以动态来画矩形了.
只要我每次读到到有关矩形图形文件就可以显示出来,可是问题是直接有获得的数据可以但是用变量接受过来表示却不行了 不知道为什么?
void CFileInterView::OnLoadFile()
{
double x,y,z;
Jshi(&x,&y,&z);//返回后x,y,z的值受Jshi操作的影响了
}
函数2:
void CFileInterView::Jshi(float *dx,float *dy,float *dz)
{
f(dx,dx,dz);//用dx来接受传过来的参数double x,y,z
}
CFileInterView类里定义
FileInterView.h
Class CFileInterView
{
float x,y,z;
};
//
/////////////////////////////////////////////////////////////////////////////#if !defined(AFX_FILEINTERVIEW_H__6B77C085_760A_4581_A502_80814E3FADA9__INCLUDED_)
#define AFX_FILEINTERVIEW_H__6B77C085_760A_4581_A502_80814E3FADA9__INCLUDED_#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class CFileInterView : public CView
{
protected: // create from serialization only
CFileInterView();
DECLARE_DYNCREATE(CFileInterView)// Attributes
public:
CFileInterDoc* GetDocument();// Operations
public:
//void DrawRectangle(CDC*pDC,double minx,double maxy,double maxx,double miny);
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CFileInterView)
public:
virtual void OnDraw(CDC* pDC); // overridden to draw this view
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
protected:
virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);
virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);
virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);
//}}AFX_VIRTUAL// Implementation
public:
double minx,miny,maxx,maxy;//我在这里声明的呀
virtual ~CFileInterView();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endifprotected:// Generated message map functions
protected:
//{{AFX_MSG(CFileInterView)
afx_msg void OnLoadFile();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};#ifndef _DEBUG // debug version in FileInterView.cpp
inline CFileInterDoc* CFileInterView::GetDocument()
{ return (CFileInterDoc*)m_pDocument; }
#endif///////////////////////////////////////////////////////////////////////////////{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.#endif // !defined(AFX_FILEINTERVIEW_H__6B77C085_760A_4581_A502_80814E3FADA9__INCLUDED_)
{
CFileInterDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
pDC->Rectangle(minx,miny,maxx,maxy);//在这里调用之前,你有没有给这些变量赋过值?
}
{
CFileInterDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
pDC->Rectangle(minx,miny,maxx,maxy);//在这里调用之前,你有没有给这些变量赋过值?
}
我也知道没有附值呀 可是我想得到void CFileInterView::OnLoadFile()
{
////
}
这个函数中的值呀因为这个函数是用来读取一个图形文件中的值的
所以我想把他传个void CFileInterView::OnDraw(CDC* pDC)
可是不只怎么样才能够弄个它.也是说我不通过直接附值而是通过传递参数来
实现呀
{
double x,y,z;
////
minx = x;
miny = y;
minz = z;
}
LoadFile后给minx,miny,minz赋值没有?
这样是可以改变minx,miny,minz的值
但是一出 OnLoadFile()
这个函数他们的值又变成默然的了
那么在void CFileInterView::OnDraw(CDC* pDC)
函数中使用minx,miny,minz他们的值不可能是x,y,z呀
也还是默然值,所以根本就没有实现把x,y,z传到OnDraw(CDC* pDC)函数中,
我现在就想把他们传进去 谁能帮我解决再加100分,
谢谢