Microsoft Visual C ++ 2010 Express - рисование внутри панели - PullRequest
0 голосов
/ 28 ноября 2011

Я уже "развлекаюсь" с Visual C ++ уже некоторое время. И сегодня я решил, что хочу нарисовать цветной пиксель внутри «панели». Цель - позже, когда я научусь это делать - рисовать пиксели внутри панели, беря цвета из массива. Но сейчас я просто хочу создать несколько пикселей внутри панели.

Допустим, у меня есть панель размером 20х20, и я хочу поместить туда 3 пикселя где-то не возле края. И пусть каждый пиксель будет другого цвета. Я немного читал и нашел некоторые идеи, но ничего не получилось.

Мне нужно использовать это, чтобы поместить один пиксель? (Я предполагаю, 3,3,3,3 являются шнуры, углы прямоугольника).

Color aColor = Color::Green;
SolidBrush^ aBrush = gcnew SolidBrush(aColor);
e->Graphics->FillRectangle(Brush, 3, 3, 3, 3);

Кроме того, как сделать так, чтобы он рисовал пиксель в "panel1" при нажатии кнопки. Потому что, если я помещу этот код прямо в panel1, он должен нарисовать эти пиксели сразу после компиляции, верно? И я хочу рисовать пиксели после нажатия кнопки.

Не будь слишком груб для меня, я учусь этому;)

1 Ответ

1 голос
/ 28 ноября 2011

Чтобы установить один пиксель, нарисуйте прямоугольник 1 на 1.

e->Graphics->FillRectangle(Brushes::Green, 3, 3, 1, 1);

Последние два параметра - ширина и высота.

Этот код должен быть в *Обработчик 1006 *.
Затем он будет рисовать пиксель постоянно.

Чтобы рисовать пиксель только после нажатия кнопки, установите флажок в своем классе при нажатии кнопки и поместите чертежкод в выражении if.

Затем вы должны вызвать panel->Invalidate(), чтобы заставить панель перекрашиваться, чтобы появился ваш чертеж.

...