0

GUI Windowsプログラミングを始めたばかりです。私は Visual Studio C++ Wondows Forms で作業しています。

マウス座標を取得して double Point 座標変数にダンプする方法を理解しましたが、X & Y 値にアクセスして操作しようとすると...

error C2248: 'System::Drawing::Point::x' : cannot access private member declared in class 'System::Drawing::Point'

Point 変数は firstPoint と呼ばれ、firstPoint.X と firstPoint.Y を使用して値にアクセスしようとしています。それは正しい方法ではないと思います。

値を int に変換して、いじることができるようにするにはどうすればよいですか? Convert::ToInt32(firstPoint.x) がエラーをスローしたものです。

Google 検索では、Point Coordinate トピックではなくポインター トピックが表示され続けます。

要求された追加コード:

private:
    /// <summary>
    /// Required designer variable.
    unsigned char ucRed, ucGrn, ucBlu;
    bool drawing;
    Point firstPoint, finalPoint;
    //int iShape, iX1,iY1,iX2,iY2;

private: System::Void panel1_Paint_1(System::Object^  sender, System::Windows::Forms::PaintEventArgs^  e) 
     {
        Graphics^ g = e->Graphics;

 //create an ellipse with
 //  Black color
 //  start position = firstPoint mouse coordinate
 //  width = difference between firstPoint and finalPoint, height = difference between firstPoint and finalPoint


        g->DrawEllipse(Pens::Black,firstPoint.x,firstPoint.Y,(finalPoint.X-firstPoint.X),(finalPoint.Y-firstPoint.Y));
4

1 に答える 1

0

パブリック プロパティ X および Y を大文字で使用します (注: 大文字と小文字が区別されます)。x および y は、構造体のプライベート メンバー変数です。

http://msdn.microsoft.com/en-us/library/system.drawing.point.aspx

Convert::ToInt32(firstPoint.X)

于 2012-10-22T08:22:26.603 に答える