Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.10.2016, 23:28   #11
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от Вероника99 Посмотреть сообщение
Окружность начала появляться по нажатию кнопки, после удаления строк
ну видимо они вызывали перерисовку всего.

Теперь попробуйте свернуть форму
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 16.10.2016, 23:34   #12
Вероника99
Форумчанин
 
Регистрация: 15.12.2013
Сообщений: 414
По умолчанию

После сворачивания, пропала окружность кнопки, а ось осталась.Подскажите еще, как здесь правильно глобальные переменные объявлять?Пол интернета перерыла с поиском правильного синтаксиса, ничего путного не нашла
Вероника99 вне форума Ответить с цитированием
Старый 16.10.2016, 23:38   #13
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Дык говорил уже.
Цитата:
Сообщение от Alex11223 Посмотреть сообщение
посмотрите например на System::ComponentModel::Container ^components; и где оно находится.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 16.10.2016, 23:55   #14
Вероника99
Форумчанин
 
Регистрация: 15.12.2013
Сообщений: 414
По умолчанию

А я поняла, поля класса формы и есть глобальные. Хорошо, спасибо
Вероника99 вне форума Ответить с цитированием
Старый 17.10.2016, 00:06   #15
Вероника99
Форумчанин
 
Регистрация: 15.12.2013
Сообщений: 414
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
то, что ему нужно для рисования (и что надо менять). В данном случае видимо цвет и положение/размеры эллипса. Или список этого если вы хотите добавлять фигуры.
А подскажите еще, как эти параметры фиксировать, есть какие-то специальны методы перемещения положения созданного элипса?
Вот элипс создан
Код:
   g->DrawEllipse(Pens::Red, 200,50, 247, 247);
Как к этому элипсу потом обратится,чтобы его переместить?
Вероника99 вне форума Ответить с цитированием
Старый 17.10.2016, 00:13   #16
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Что фиксировать?

При рисовании в paint берите значения из переменных, а по нажатию кнопки и т.п. их меняйте.

Для вызова перерисовки можно например
Код:
myPanel.Refresh();
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 17.10.2016, 19:43   #17
Вероника99
Форумчанин
 
Регистрация: 15.12.2013
Сообщений: 414
По умолчанию

Прочитала эту статью и сделала по примеру
https://msdn.microsoft.com/ru-ru/lib...v=vs.110).aspx
Под переменными Вы имели в виду следующее?
Код:
Pen^ blackPen = gcnew Pen( Color::Black,3.0f );

      // Create rectangle for ellipse.
      Rectangle rect = Rectangle(0,0,200,100);
Если да, то я Pen^ blackPen и Rectangle rect сделала глобальными, в методе panel1_Paint их инициализирую и запускаю
Код:
 g->DrawEllipse(blackPen, rect );
Потом в button1_Click, как Вы говорите меняю значения
Код:
 rect = Rectangle(0,0,300,300);
    //g->DrawEllipse(blackPen, rect ); //пробовала еще эту функцию
		 panel1->Refresh();
Но никакие изменения не происходят, что я делаю не так?)
Вероника99 вне форума Ответить с цитированием
Старый 17.10.2016, 19:54   #18
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Может быть что-то еще кроме Refresh надо. Invalidate(), ... Или с самим кодом рисования или изменения параметров что-то не так, после сворачивания и разворачивания формы меняется на нужное?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 17.10.2016, 20:04   #19
Вероника99
Форумчанин
 
Регистрация: 15.12.2013
Сообщений: 414
По умолчанию

Не происходят изменения, только по нажатию кнопки, видно что панель обновляется, а сам элипс не изменяется, только когда в button дописываю
Код:
 g->DrawEllipse(blackPen, rect );
и убираю рефреш, добавляется еще одна окружность
Вероника99 вне форума Ответить с цитированием
Старый 17.10.2016, 20:10   #20
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

а, так если
Цитата:
Сообщение от Вероника99 Посмотреть сообщение
в методе panel1_Paint их инициализирую
то вы не поняли как оно работает.

Paint вызывается периодически (по Refresh или например после разворачивания формы) для перерисовки панели.

Если вы в нем меняете значения параметров, то оно всегда и будет с этими значениями рисовать, а то что поменялось по нажатию кнопки ни на что не повлияет.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск абсолютного индекса элемента в TreeView (C++/CLI Windows Forms) Cha1000000 Windows Forms 10 11.04.2016 15:50
C++/CLI Windows Forms Обработка сообщения WM_DEVICECHANGE Cha1000000 Windows Forms 13 08.04.2016 00:52
DirectInput и джойстик (C++/CLI, Windows Forms) Vistaern Win Api 1 21.02.2013 06:48
Проблема с выделением памяти в глобальной области windows forms(C++\CLI) DartLenin Помощь студентам 2 24.01.2012 20:58
Проблема с отображением русского языка (Windows Forms C++ CLI) Alex TGM Помощь студентам 0 17.08.2010 11:13