Модераторы: gambit, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> GDI+ 
:(
    Опции темы
denozavr
Дата 15.7.2010, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 25.1.2010

Репутация: нет
Всего: нет



хочу сделать примитивную программу для рисования фигур,с использованием GDI+,начал с прямоугольника...Рисую на самой форме....И столкнулся с такой проблемой...У меня есть класс который отвечает за прямоугольник и его св-ва(цвет линии,толщина, и т.п),и есть метод в этом классе который должен рисовать прямоугольник...
Каждый созданный прямоугольник помещается в определенный список,для дальнейшего вывода на форму,и вот,в событии Paint я не могу нарисовать прямоугольники которые содержаться в списке,точнее не знаю как реализовать это((
Можно с помощью класса Graphics,но я не знаю как инициализировать его для рисования на форме,на picturebos-е можно,с помощью получения дескриптора,а фот как для формы,незнаю(вывод у меня будет по идее такой:
Код

private void Form1_Paint(object sender, PaintEventArgs e)
        {
            //данное событие происходит при любых изменениях на форме...
            //при перемещении мышки на форме
            for (int i = 0; i < list_of_rectangle.Count; i++)
            {
                list_of_rectangle[i].DrawRect();//тут выводим прямоугольники кот-е содержаться в списке
            }
            if (isLeftDown)
            {
                e.Graphics.DrawRectangle(pen, tmp);//рисуем прямоугольник
                e.Graphics.FillRectangle(brh, tmp);//заливаем его
            }
        }


А вот класс,где нужно инициализировать объект класса Graphics,но я незнаю как(((
Код

class MyRect
    {
        Pen pen;
        Rectangle rect;
        Brush brh;
        Graphics gr;//как проинициализировать объект данного класса для рисования на форме??
        public MyRect(int x_1, int y_1, int x_2, int y_2, Color fon, Color line, int width)
        {
            rect = Rectangle.FromLTRB(x_1, y_1, x_2, y_2);
            pen = new Pen(line, width);
            brh = new SolidBrush(fon);
            gr = //Как правильно проинициализировать????
        }
        //у каждого прямоугольника есть метод рисования
        public void DrawRect()
        {
            gr.DrawRectangle(pen, rect);
            gr.FillRectangle(brh, rect);
        
        }

Кто подскажет что то,буду благодарен,и еще где можно надыбать примеры хорошие по ГДЯ+ может подскажите...

Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  Paint_on_GDI.rar 115,76 Kb
PM MAIL WWW ICQ   Вверх
denozavr
Дата 16.7.2010, 09:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 25.1.2010

Репутация: нет
Всего: нет



Все,сам сделал,помощи пока не нужно..
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.3642 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.