| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Разработка Windows Forms > возможно ли узнать координаты клика на форме? |
| Автор: beyond11 13.1.2008, 17:23 |
| есть 2 вопроса. вернее 3. вопрос первый - как узнать координаты клика на форме? объясняю ситуацию - есть куча квадратиков, по нажатии на каждый из них, именно он должен закрашиваться в определенный выбранный цвет. квадратики я нарисовал, осиалось выяснить, как узнать где именно на форме я кликнул, тогда проблема решена. можно конечно сделать для каждого квадратика свой pictureBox, но квадратиков 100, а 100 объектов на форму цеплять не хочется. помогите если кто знает вопрос 2 - как переделать типа Brush в тип Color, и обратно? дело в том что если рисовать прямоугольник DrawRectangle, то для задания цвета линии используется тип Color, но мне нужны закрашенные прямоугольники, для этого надо использовать FillRectangle (закрашенный прямоугольник), а он для закрашивания требует тип Brush. может есть ещё какие-то варианты, с помощью которых можно нарисовать закрашенный квадрат с цветом типа Color? вопрос 3 - допустим у меня есть переменная типа Color, как я могу сохранить её значение в файл, а потом загрузить и поместить его обратно в переменную? (могу сохранить в текстовый файл, но как это сделать? и как потом обратно переделать в переменную типа Color?), (например значение Color::Blue) |
| Автор: bogys 13.1.2008, 17:34 |
| 1) ..... Rectangle rectangl = new Rectangle(......); .... в обработчике какомто MouseUp, MouseDown.... Point mousePT = new Point(e.X, e.Y); if (rectangl.Contains(mousePT)) // знач попали в квадрат 3) Цвет можна и так получить: Color cl = Color.FromArgb(50, 0, 0, 255); а цыфры уже легко сохранять в файле |
| Автор: beyond11 13.1.2008, 18:03 | ||
легко. это да. но я забыл сказать, что цвет должен выбираться посредством ColorDialog, а он выдаёт цвет типа Color |
| Автор: 1stain 13.1.2008, 18:50 |
| bogys, а позвольте узнать, каким образом Вы предлагаете сохранять в файл составляющие цвета? |
| Автор: bogys 13.1.2008, 19:10 | ||
предлагая сохранять значения, которые отвечают за оттенок цвета, просто 4 числа Или что Вы имели введу? |
| Автор: 1stain 13.1.2008, 19:49 | ||
я имел ввиду, что все классы и структуры из фреймверка, которые помечены атрибутом Serializable, можно сохранять непосредственно.
|
| Автор: bogys 13.1.2008, 20:48 |
| Чувствовал, что есть какой-то оригинальный способ.... 1stain, спасибо, теперь буду знать. |
| Автор: beyond11 14.1.2008, 15:49 | ||
| всем спасибо)) с координатами клика разобрался, с цветом тоже, с Brush/Color разобрался... есть новая проблема: как сделать массив переменных типа Color, размером к примеру 10 на 10 ? как его объявлять? вообще не пойму. Color colors[10][10]; - ругается..
Color* colors[10][10]; - не ругается, но когда задаю цвет из этого массива как цвет линии, пишет что не может переконвертировать из System::Drawing::Color* в System::Drawing::Color честно говоря, вообще не въезжаю пока что значит этот символ - *, но важно не это если кто знает как праильно создать этот массив, подскажите плиз. |
| Автор: mr.DUDA 14.1.2008, 20:25 | ||
|