Я нарисовал несколько прямоугольников на панели, используя CreateGraphics(). Хотя они всегда исчезали после минимизации и восстановления окна, я использовал событие рисования, чтобы восстановить их, и все работает нормально, всегда используя «CreateGraphics()».
Однажды г-н Ханс Пассант дал мне совет ЗАМЕНИТЬ 'CreateGraphics()' на событие рисования панели. Мне кажется, что событие 'paint' также используется для создания, а не только для восстановления.
Visual C++ DrawRectangle заполнен:
... В общем, не используйте CreateGraphics(), что бы вы ни рисовали, оно не сохранится. Например, сверните и восстановите окно. Вместо этого используйте событие Paint панели. — Ханс Пассант
Я так пробовал, но у меня не получилось. Мне всегда был нужен «CreateGraphics», чтобы инициализировать указатель на класс «Graphics» и использовать метод «drawRectangle»:
System::Drawing::Graphics ^drawPointer = CreateGraphics();
После этого вы создаете прямоугольник с
drawPointer->drawRectangle(...);
Но переходя к «событию рисования» панели, как мне получить доступ к методу «drawRectangle» без использования «CreateGraphics ()»? Или мне не так посоветовали?