私は描画ツールの小さなプロジェクトをやっています。
line を使用してポリゴンを描画するためCList<CPoint,CPoint> m_Points
、各ラインの終点を格納するために使用します。
これが私のコードです:
void CDrawToolView::OnLButtonUp(UINT nFlags, CPoint point)
{
.
.
.
CList<CPoint,CPoint> m_Points;
m_Points.AddTail(point);
.
.
.
}
そして、ポイントをダイアログに渡したいです。呼び出し関数で:
void CDrawToolView::OnEditProperty()
{
CPropertyDlg dlg;
dlg.Points = m_Points;
if (dlg.DoModal() == IDOK)
{
m_Points = dlg.Points;
}
}
次に、ダイアログで [OK] をクリックすると、 からすべてのポイントが読み取られCList<CPoint,CPoint> Points
ます。
void CPropertyDlg::OnBnClickedOk()
{
CList<CPoint,CPoint> Points;
Points.AddTail(polypoint);
POSITION pos = Points.GetHeadPosition();
while( pos != NULL )
{
int i = 0;
element = Points.GetNext(pos);
polygon_x[i] = element.x;
polygon_y[i] = element.y;
i ++;
}
}
プログラムを実行しているときCObject::operator =' : cannot access private member declared in class 'CObject'
、どうすればその問題を解決できますか?
また、このメソッドを使用してポイントをダイアログに渡すことはできますか?