Advertisement
Tark_Wight

Untitled

Apr 23rd, 2023
42
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.62 KB | None | 0 0
  1. #pragma once
  2.  
  3. namespace MyNamespace {
  4.  
  5. using namespace System;
  6. using namespace System::Drawing;
  7. using namespace System::Windows::Forms;
  8.  
  9. ref class MyForm : public Form
  10. {
  11. private:
  12. PictureBox^ pictureBox1;
  13. Point lastPoint;
  14.  
  15. public:
  16. MyForm()
  17. {
  18. // Создание элементов управления
  19. pictureBox1 = gcnew PictureBox();
  20. pictureBox1->Dock = DockStyle::Fill;
  21. pictureBox1->BorderStyle = BorderStyle::FixedSingle;
  22. pictureBox1->Paint += gcnew PaintEventHandler(this, &MyForm::pictureBox1_Paint);
  23. pictureBox1->MouseDown += gcnew MouseEventHandler(this, &MyForm::pictureBox1_MouseDown);
  24. this->Controls->Add(pictureBox1);
  25.  
  26. lastPoint = Point::Empty;
  27. }
  28.  
  29. // Обработчик события Paint на PictureBox
  30. void pictureBox1_Paint(Object^ sender, PaintEventArgs^ e)
  31. {
  32. // Рисование линии между последней и текущей точкой
  33. if (!lastPoint.IsEmpty) {
  34. e->Graphics->DrawLine(Pens::Black, lastPoint, pictureBox1->PointToClient(Cursor->Position));
  35. }
  36. }
  37.  
  38. // Обработчик события MouseDown на PictureBox
  39. void pictureBox1_MouseDown(Object^ sender, MouseEventArgs^ e)
  40. {
  41. // Добавление точки и перерисовка PictureBox
  42. lastPoint = pictureBox1->PointToClient(Cursor->Position);
  43. pictureBox1->Invalidate();
  44. }
  45. };
  46.  
  47. }
  48.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement