Rysowanie po formie i odczytywanie współrzędnych kursora VisualStudio

0

Witam

Mam pytanie kombinuje z rysowaniem po formie w C++ (Visual Studio) i już co nieco chodzi:

       
pictureBox1 = gcnew PictureBox;
      pictureBox1->Dock = DockStyle::Fill;
      //pictureBox1->BackColor = Color::White;
      pictureBox1->Paint += gcnew System::Windows::Forms::PaintEventHandler( this, &Form1::pictureBox1_Paint );

i w to można ładować co się chce.

Kłopot jest z odczytem położenia myszki nad obiektem, mogę wykorzystać:

System::Windows::Forms::MouseEventArgs^  e
 

tylko nie bardzo wiem jak to obsłużyć, żeby wyciągnąć położenie kursora.

Kolejnym problemem jest rysowanie pojedynczych punktów w chwili przyciśnięcia klawisza myszy, jaki użyć klasy Drawing do rysowania punktów w miejscu kursora?

RE: Nie jest to mój pomysł tylko zalecenie odgórne. Ja takie rzeczy robię w C# niestety tu nie mogę.

1

Ja takie rzeczy robię w C# niestety tu nie mogę.

A jak byś zrobił w C#? ;-)

pictureBox1->Paint to nie jest dobra droga. PictureBox jest kontenerem dla bitmapy, i to tę bitmapę powinieneś raczej edytować, a nie rysować po kontrolce.

// gdzieś w FormLoad, zakładając że kontrolka nie będzie zmieniać rozmiaru

pictureBox1->Image = gcnew Bitmap(pictureBox1->Width, pictureBox1->Height);

rysowanie (w dowolnym miejscu, to nie jest zdarzenie)

Graphics ^g = Graphics::FromImage(pictureBox1->Image);

/* ... tutaj rysujemy używając obiektu g, efekt trafi do pictureboksa ... */

delete g;

// może się okazać potrzebne:
pictureBox1->Invalidate();

Kłopot jest z odczytem położenia myszki nad obiektem, mogę wykorzystać:

System::Windows::Forms::MouseEventArgs^  e

tylko nie bardzo wiem jak to obsłużyć, żeby wyciągnąć położenie kursora.

e-> ...

1 użytkowników online, w tym zalogowanych: 0, gości: 1