Vc++ 2010 Как Программно Вызвать Процедуру Paint?

  • Автор темы Seva
  • Дата начала
S

Seva

На форме стоит pictureBox... Добавляю процедуру клика- pictureBox_Click. Теперь по этому клику надо вызвать pictureBox_Paint и нарисовать, например, круг.
Если я pictureBox_Paint прописываю в pictureBox_Click

Код:
#pragma endregion
private: System::Void pictureBox1_Click(System::Object^ sender, System::EventArgs^ e) {
private: System::Void pictureBox1_Paint(System::Object^ sender, System::Windows::Forms::PaintEventArgs^ e) {
e->Graphics->DrawEllipse(Pens::Red, 10, 10, 20, 20);
}
...То, естественно, не компилируется:

<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Показать ошибки</div></div><div class="sp-body"><div class="sp-content">1>------ Build started: Project: Клик, Configuration: Debug Win32 ------
1>Build started 14.04.2012 12:06:41.
1>InitializeBuildStatus:
1> Creating "Debug\Клик.unsuccessfulbuild" because "AlwaysCreate" was specified.
1>GenerateTargetFrameworkMonikerAttribute:
1>Skipping target "GenerateTargetFrameworkMonikerAttribute" because all output files are up-to-date with respect to the input files.
1>ClCompile:
1> All outputs are up-to-date.
1> Клик.cpp
1>c:\users\station system\documents\visual studio 2010\projects\клик\клик\Form1.h(65): error C2039: 'pictureBox1_Paint' : is not a member of 'Клик::Form1'
1> c:\users\station system\documents\visual studio 2010\projects\клик\клик\Form1.h(15) : see declaration of 'Клик::Form1'
1>c:\users\station system\documents\visual studio 2010\projects\клик\клик\Form1.h(65): error C2065: 'pictureBox1_Paint' : undeclared identifier
1>c:\users\station system\documents\visual studio 2010\projects\клик\клик\Form1.h(65): error C3350: 'System::Windows::Forms::paintEventHandler' : a delegate constructor expects 2 argument(s)
1>c:\users\station system\documents\visual studio 2010\projects\клик\клик\Form1.h(81): error C2143: syntax error : missing ';' before 'private'
1>c:\users\station system\documents\visual studio 2010\projects\клик\клик\Form1.h(81): error C2143: syntax error : missing ';' before '{'
1>c:\users\station system\documents\visual studio 2010\projects\клик\клик\Form1.h(82): error C2039: 'Graphics' : is not a member of 'System::EventArgs'
1> c:\program files (x86)\reference assemblies\microsoft\framework\.netframework\v4.0\mscorlib.dll : see declaration of 'System::EventArgs'
1>c:\users\station system\documents\visual studio 2010\projects\клик\клик\Form1.h(82): error C2227: left of '->DrawEllipse' must point to class/struct/union/generic type
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:00.69
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


Подскажите- как правильно вызвать Paint из Click'a или куда правильно будет запихнуть этот Paint, Спасибо!
 
S

Seva

Ладно...Всё, вопрос решён!





Сделал так:
Код:
#pragma endregion
private: System::Void pictureBox1_Click(System::Object^ sender, System::EventArgs^ e) {
Graphics^ dc= pictureBox1->CreateGraphics();
dc->DrawEllipse(Pens::Red, 10, 10, 30, 30);

}
Всем спасибо!
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!