protected: void OnPaint(PaintEventArgs pe)
{
Graphics ^g = pe.Graphics;
Pen ^pn=gcnew Pen(Color::Red,3);
g->DrawLine(pn,0,110,497,110);
}
c++ 2005 пара вопросов
Пока появилось 2 вопроса.
1. Загружаю несколько картинок/иконок в файл ресурсов, присваиваю им разные имена. В форме присваиваю окну такую-то иконку, но после добавления нового элемента в форму( кнопки,текстбокса и т.д), все иконки кроме одной стираются из файла ресурсов а оставшаяся переиминовывается в "$this.Icon", тоже самое с картинками. Че это за баг?
2. Не пойму как нарисовать черту (line) в форме. Раньше я немного програмил на vb 6.0 там был компонент line, а тут нету. Прочитал где-то что можно нарисовать линию так:
Код:
Но я не врублюсь куды этот код надо вставлять в *.cpp или form1.h файл и в какое место?
Используй GDI+. Там есть и линии (DrawLine), и с картинками никаких багов нет. Хотя, я и без GDI никаких ошибок не замечал...
Но я не врублюсь куды этот код надо вставлять в *.cpp или form1.h файл и в какое место?[/QUOTE]
Обработчики событий создаются автоматически. В дизайнере выдели форму, перейди на страницу свойств, там выбери события (OnPaint) дважды кликни и у тебя создастся обработчик где ты и будешь писать код. Вопрос где размещать код непринципиален, его можно разместить и в заголовочном файле, сразу после оъявления фунцкции, а можно там оставить просто объявление, а реализацию написать в cpp-файле. Это более стандартный способ. получится нечто подобное:
заголовочный файл:
Код:
public class Form1: public Form
{
//*****
protected:
Form1_Paint(System::Object^ sender, System::Windows::Forms::PaintEventArgs^ e);
//*****
}
{
//*****
protected:
Form1_Paint(System::Object^ sender, System::Windows::Forms::PaintEventArgs^ e);
//*****
}
файл с реализацией:
Код:
private: System::Void Form1_Paint(System::Object^ sender, System::Windows::Forms::PaintEventArgs^ e)
{
//code
}
{
//code
}